graph
This commit is contained in:
@@ -57,12 +57,18 @@
|
|||||||
|
|
||||||
# Bac3
|
# Bac3
|
||||||
|
|
||||||
- [Graph. et Opti.]()
|
---
|
||||||
- [définitions](./bac3/GraphOpti/Definitions.md)
|
|
||||||
|
- [Graph]()
|
||||||
|
- [Définitions](./bac3/GraphOpti/Definitions.md)
|
||||||
- [Représentation](./bac3/GraphOpti/rpz.md)
|
- [Représentation](./bac3/GraphOpti/rpz.md)
|
||||||
- [Complexité](./bac3/GraphOpti/complexite.md)
|
- [Complexité](./bac3/GraphOpti/complexite.md)
|
||||||
- [Algos](./bac3/GraphOpti/Algos.md)
|
- [Algos](./bac3/GraphOpti/Algos.md)
|
||||||
|
|
||||||
|
- [Opti combinatoire]()
|
||||||
|
- [Définition](./bac3/GraphOpti/OptiCombi.md)
|
||||||
|
---
|
||||||
|
|
||||||
- [Statistiques]()
|
- [Statistiques]()
|
||||||
- [Introduction](./bac3/Stats/Introduction.md)
|
- [Introduction](./bac3/Stats/Introduction.md)
|
||||||
- [Statistique déscriptive](./bac3/Stats/StatDesc.md)
|
- [Statistique déscriptive](./bac3/Stats/StatDesc.md)
|
||||||
|
|||||||
@@ -49,5 +49,27 @@ si ça n'est pas possible, le graph n'est pas bi-partie. L'exploration est en la
|
|||||||
|
|
||||||
## Arbre recouvrant de poids minimal
|
## Arbre recouvrant de poids minimal
|
||||||
|
|
||||||
|
Si G n'est pas convexe, on peut calculer le poids minimal
|
||||||
|
|
||||||
L'objectif est de trouver une arborescence couvrante de G dont la somme des poids des arcs soit
|
L'objectif est de trouver une arborescence couvrante de G dont la somme des poids des arcs soit
|
||||||
minimale
|
minimale
|
||||||
|
|
||||||
|
**Propriétée**: En partitionant le graph en deux, il y aura toujours une arrete joignant les deux
|
||||||
|
partitions qui sera minimale
|
||||||
|
|
||||||
|
- **Algo de prism**:
|
||||||
|
1) Arbre à un seul sommet
|
||||||
|
2) à chaques itération, ajouter la node la plus proche (en poids)
|
||||||
|
|
||||||
|
- **Algo de kruskal**
|
||||||
|
1) Foret de sommets isolé
|
||||||
|
2) à chaques itérations, ajout la plus petite arête sans cycle
|
||||||
|
3) Stop quand arbre couvrant
|
||||||
|
- Contrairement à Prism, trouve direct une foret couvrante minimal si non connexe
|
||||||
|
- structure **Union-Find**
|
||||||
|
- *Find(x)* trouve le numéro de la classe de x
|
||||||
|
- *Union(u,v)* fusionne deux classes de numéros u et v
|
||||||
|
- Création d'un liste next:
|
||||||
|
- full 0
|
||||||
|
- poids minimum (x,y) placer x en y
|
||||||
|
- si x et y dans même classe alors union
|
||||||
|
|||||||
74
src/bac3/GraphOpti/OptiCombi.md
Normal file
74
src/bac3/GraphOpti/OptiCombi.md
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
# Optimisation Combinatoire
|
||||||
|
|
||||||
|
## Définition
|
||||||
|
|
||||||
|
- **Problème d'optimisation combinatoire**:
|
||||||
|
- **ensemble fini** de solutions admissibles \\( \Omega \\),
|
||||||
|
- **fonction objectif** \\( f: \Omega \to \mathbb{R} \\)
|
||||||
|
- but: trouver \\( x^* \\) minimisant f
|
||||||
|
\\[ x^* = \arg\min\\{ f(x) \vert x \in \Omega\\} = \arg\min_{x\in\Omega} f(x)\\]
|
||||||
|
|
||||||
|
## Problème d'affectation
|
||||||
|
|
||||||
|
affecter n ressources à n activités à un cout total minimum (Assignment Problem)
|
||||||
|
|
||||||
|
\\[
|
||||||
|
AP\left\\{ \begin{align}
|
||||||
|
\min &\sum_{i=1}^n \sum_{j=1}^n c_{ij} x_{ij} \\\\
|
||||||
|
&\sum_{i=1}^n x_{ij} = 1 \quad j = 1,..., n \\\\
|
||||||
|
&\sum_{j=1}^n x_{ij} = 1 \quad i = 1,..., n \\\\
|
||||||
|
& x_{ij} \in \\{0, 1\\} \quad i = 1, ..., n \quad j = 1, ..., n
|
||||||
|
\end{align} \right.
|
||||||
|
\\]
|
||||||
|
|
||||||
|
### Variante
|
||||||
|
|
||||||
|
affecter n ressources à n activité en minimsant le cout maximum de chaque ressource (min-max /
|
||||||
|
bottleneck)
|
||||||
|
|
||||||
|
\\[
|
||||||
|
\left\\{\begin{align}
|
||||||
|
\min & C_{max} \\\\
|
||||||
|
&\sum_{i=1}^n x_{ij} = 1 \quad j = 1,..., n \\\\
|
||||||
|
&\sum_{j=1}^n x_{ij} = 1 \quad i = 1,..., n \\\\
|
||||||
|
&\sum_{j=1}^n c_{max} \quad i = 1, ..., n \\\\
|
||||||
|
&x_{ij} \in {0, 1} \quad i = 1, ..., n \quad j = 1, ..., n \\\\
|
||||||
|
&C_{max} \ge 0
|
||||||
|
\end{align}\right.
|
||||||
|
\\]
|
||||||
|
|
||||||
|
## Problème de transport
|
||||||
|
|
||||||
|
Consommation <-> Production en minimisant le cout total de transport ( Transport Problem )
|
||||||
|
|
||||||
|
\\[
|
||||||
|
\left\\{\begin{align}
|
||||||
|
\min &\sum_{i=1}^r \sum_{i=1}^s c_{ij}x_{ij} \\\\
|
||||||
|
&\sum_{j=1}^s x_{ij} = q_i \quad i = 1, ..., r \\\\
|
||||||
|
&\sum_{i=1}^r x_{ij} = d_j \quad j = 1, ..., s \\\\
|
||||||
|
&x_{ij} \ge 0 \quad i=1,..., r \quad j=1,...,s
|
||||||
|
\end{align}
|
||||||
|
\right.
|
||||||
|
\\]
|
||||||
|
en supposant que la production est égale à la consomation
|
||||||
|
\\[
|
||||||
|
\sum_{j = 1}^s d_j = \sum_{i=1}^r q_i
|
||||||
|
\\]
|
||||||
|
|
||||||
|
### Problème du voyageur de commerce (TSP)
|
||||||
|
|
||||||
|
faire un circuit passant une seule fois par n villes de cout minimum
|
||||||
|
|
||||||
|
\\[
|
||||||
|
\left\\{\begin{align}
|
||||||
|
\min &\sum_{i=1}^n \sum_{i=1}^n c_{ij}x_{ij} \\\\
|
||||||
|
&\sum_{j=1}^n x_{ij} = q_i \quad i = 1, ..., n \\\\
|
||||||
|
&\sum_{i=1}^n x_{ij} = d_j \quad j = 1, ..., n \\\\
|
||||||
|
&\sum_{i \in Q}\sum_{j \in \overline{Q}} x_{ij} \ge 1 \quad Q\subset \\{1,...,n\\} \quad \overline{Q} =
|
||||||
|
\\{1, ..., n\\} \backslash Q \\\\
|
||||||
|
&x_{ij} \in \\{0, 1\\} \quad i=1,..., n \quad j=1,...,n
|
||||||
|
\end{align}
|
||||||
|
\right.
|
||||||
|
\\]
|
||||||
|
|
||||||
|
C'est en fait un problème d'affectation relaxé
|
||||||
1
src/bac3/GraphOpti/Opti_Init.md
Normal file
1
src/bac3/GraphOpti/Opti_Init.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# init
|
||||||
Reference in New Issue
Block a user