Traduction en anglais
This commit is contained in:
parent
2fc9639671
commit
d6d62d6f08
@ -6,7 +6,7 @@
|
||||
"id": "83c2b1e7-b401-4a15-adf0-d43cebf9ad81",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Projet algorithme # \n"
|
||||
"# **Algorithm project** # \n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -15,7 +15,7 @@
|
||||
"id": "0b4f92e5-ac40-4491-983d-890c4f0f6694",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Contexte du projet: \n"
|
||||
"## <u>Project context </u>\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -24,7 +24,7 @@
|
||||
"id": "5f483b31-1246-4f00-ae39-718ef92ce9eb",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"L'ADEME a lancé un appel à manifestation d'intérêt pour développer des solutions de mobilité adaptées à différents territoires. CesiCDP, en collaboration avec des partenaires, s'est spécialisé dans la Mobilité Multimodale Intelligente. Dans le cadre de cet appel, l'équipe de CesiCDP travaille sur la gestion de tournées de livraison pour minimiser les trajets et optimiser l'efficacité. L'objectif est d'obtenir de nouveaux marchés et des financements pour poursuivre le développement de l'entreprise. Des contraintes supplémentaires seront ajoutées pour rendre le problème plus réaliste et intéressant pour l'ADEME."
|
||||
"The French Environment and Energy Management Agency (ADEME) has launched a call for expressions of interest to develop mobility solutions adapted to different territories. CesiCDP, in collaboration with partners, specializes in Intelligent Multimodal Mobility. As part of this call, the CesiCDP team is working on the management of delivery routes to "
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -33,7 +33,7 @@
|
||||
"id": "fc23daaf-9f25-4c5a-bf6c-300a7ed8d623",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Notre but est de réaliser un algorithme permettant de passer par tous les points de livraisons avec un temps optimisé."
|
||||
"Our aim is to develop an algorithm that will enable us to pass through all the delivery points in an optimized time."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -42,7 +42,7 @@
|
||||
"id": "d633beb7-8f26-46d4-9cd9-1d0093e5b5c3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Contrainte choisie :\n"
|
||||
"## <u>Selected constraint</u>\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -51,8 +51,8 @@
|
||||
"id": "35fc1c3c-d7a9-4423-a948-aa00ab51dbf4",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"La contrainte que nous avons choisi est la suivante:\n",
|
||||
"- Avoir plusieurs camions disponibles simultanément pour effectuer les livraisons.\n"
|
||||
"The constraint we chose was the following:\n",
|
||||
"- To have several trucks available simultaneously to make deliveries."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -61,7 +61,7 @@
|
||||
"id": "ba356166-604a-4627-ac0f-93b76eb7a22d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Formulation du problème"
|
||||
"## <u>Formulation of the problem </u>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -70,11 +70,11 @@
|
||||
"id": "c4d6888b-14e6-4745-880f-0a063ebf7476",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Soit un graphe $G=(V,E)$, où $V$ est l'ensemble des villes (ou points de livraison) et $E$ est l'ensemble des routes entre les villes. Il y a $k$ camions disponibles pour effectuer les livraisons.\n",
|
||||
"Consider a graph $G=(V,E)$, where $V$ is the set of cities (or delivery points) and $E$ is the set of roads between cities. There are $k$ trucks available to make deliveries.\n",
|
||||
"\n",
|
||||
"Le problème consiste à trouver une tournée pour chaque camion, de manière à ce que toutes les livraisons soient effectuées en un temps minimum tout en partant et en revenant au dépôt.\n",
|
||||
"The problem is to find a route for each truck, so that all deliveries are made in the shortest possible time, both to and from the depot.\n",
|
||||
"\n",
|
||||
"Le problème que nous avons avec les contraintes ci-dessus est le problème du VRP (Vehicule Routing Problem)."
|
||||
"The problem we have with the above constraints is the VRP (Vehicle Routing Problem)."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -83,7 +83,7 @@
|
||||
"id": "6d392f68",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Contraintes du problème"
|
||||
"## <u> Problem constraints </u>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -92,13 +92,83 @@
|
||||
"id": "f95dba22",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Liste des contraintes du problème:\n",
|
||||
"List of problem constraints:\n",
|
||||
"\n",
|
||||
"- Tous les clients doivent être déservis\n",
|
||||
"- Un client ne peut être servi que par un et un seul véhicule.\n",
|
||||
"- En quittant un client, un véhicule peut aller que vers un seul autre client.\n",
|
||||
"- All customers must be served\n",
|
||||
"- A customer can only be served by one vehicle.\n",
|
||||
"- When leaving a customer, a vehicle can only go to one other customer.\n",
|
||||
"\n",
|
||||
"On va donc affecter chaque client à une tournée effectué par un seul véhicule."
|
||||
"We will therefore assign each customer to a route served by a single vehicle."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "c1ca5507",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## <u>Demonstrating the complexity of the vehicle routing problem (VRP) </u>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "37632b4b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### **Introduction**\n",
|
||||
"\n",
|
||||
"The Vehicle Routing Problem (VRP) is an extension of the Traveling Salesman Problem (TSP), and is known to be an NP-hard problem. We will demonstrate the complexity of VRP based on the Hamiltonian chain problem, which is known to be NP-complete."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "6a63522a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### **Preliminary definitions**\n",
|
||||
"\n",
|
||||
"- Hamiltonian chain problem**: the problem consists in determining whether a given undirected graph has a Hamiltonian chain, i.e. a path that visits each vertex exactly once.\n",
|
||||
"\n",
|
||||
"- Traveling Salesman Problem (TSP)**: the problem consists in finding the shortest possible circuit that visits each city in a given set of cities and returns to the original city.\n",
|
||||
"\n",
|
||||
"- Vehicle Routing Problem (VRP)**: the problem consists in delivering a series of customers with several vehicles while minimizing the total cost, such as delivery time or distance traveled."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "589a1874",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### **Proof of the complexity of the TSP**.\n",
|
||||
"\n",
|
||||
"The TSP is an extension of the Hamiltonian chain problem. In fact, a special case of the TSP is the Hamiltonian chain problem, in which all edges have the same weight (or cost). In this case, finding the shortest circuit in the TSP is equivalent to finding a Hamiltonian chain in the graph. Since the Hamiltonian chain problem is NP-complete, the TSP must be at least as difficult, so the TSP is NP-complete."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "92658e81",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### **Proof of the complexity of the VRP**.\n",
|
||||
"\n",
|
||||
"The VRP is an extension of the TSP. In fact, a special case of the VRP is the TSP where there is only one vehicle available to make deliveries. In this case, finding the solution to the VRP is the same as finding the solution to the TSP.\n",
|
||||
"\n",
|
||||
"Since the TSP is NP-complete, the VRP must be at least as difficult, so the VRP is NP-difficult. Furthermore, VRP introduces additional constraints, such as multiple vehicles and potentially vehicle capacities and time windows, making it even more complex."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"id": "a4106346",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### **Conclusion**\n",
|
||||
"\n",
|
||||
"In conclusion, we have shown that VRP is an NP-hard problem by reducing it to the NP-complete TSP problem, which in turn can be reduced to the NP-complete Hamiltonian chain problem. This demonstration highlights the difficulty of solving the VRP, particularly for large instances. In practice, (meta)heuristic and approximate methods are often used to solve the VRP, as we shall see later."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -107,7 +177,7 @@
|
||||
"id": "16b3b8a7-4658-4509-a511-7a395654e6f1",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Modélisation mathématique"
|
||||
"## <u> Mathematical modeling </u>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -116,7 +186,7 @@
|
||||
"id": "b54bfa8c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Ensemble et paramètres:"
|
||||
"#### **Set and parameters**"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -125,12 +195,12 @@
|
||||
"id": "637eb295",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"$V=\\{0,1,2,...,n_v\\}$ : l'ensemble des villes, où 0 est la base (ou le dépôt), $1,2,...,n_v$ sont les villes de livraison. $n_v+1$ sera le dépot pour le retour. <br>\n",
|
||||
"$K=\\{1,2,...,k\\}$ : l'ensemble des camions. <br>\n",
|
||||
"$E$ représente les arcs entre deux clients $i,j \\in V$ <br>\n",
|
||||
"$G=(V,E)$ : le graphe <br>\n",
|
||||
"$d_{ij}$ : la distance (ou le temps de trajet) de la ville i à la ville $j$ (coût de déplacement) <br>\n",
|
||||
"$M$ : une grande constante."
|
||||
"$V=\\{0,1,2,...,n_v\\}$ : the set of cities, where 0 is the base (or depot), $1,2,...,n_v$ are the delivery cities. $n_v+1$ will be the depot for the return. <br>\n",
|
||||
"$K=\\{1,2,...,k\\}$ : all trucks. <br>\n",
|
||||
"$E$ represents the arcs between two customers $i,j \\in V$ <br>\n",
|
||||
"$G=(V,E)$ : the graph with V as vertices (cities) and E as edges <br>\n",
|
||||
"$d_{ij}$ : distance (or travel time) from city i to city $j$ (travel cost) <br>\n",
|
||||
"$M$ : a great constant."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -139,7 +209,7 @@
|
||||
"id": "1219e4f2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Variables de décision:"
|
||||
"#### **Decision variables**"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -148,7 +218,7 @@
|
||||
"id": "a6d398fa",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"$x_{ijk}$ : variable binaire qui vaut 1 si le camion $k$ se déplace de la ville $i$ à la ville $j$, et 0 sinon."
|
||||
"$x_{ijk}$ : binary variable worth 1 if truck $k$ moves from city $i$ to city $j$, and 0 otherwise."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -157,7 +227,7 @@
|
||||
"id": "e635cf14",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Fonction objective:"
|
||||
"#### **Objective function**"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -175,17 +245,17 @@
|
||||
"id": "a1465000",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Contraintes du VRP:\n",
|
||||
"#### **VRP constraints**\n",
|
||||
"\n",
|
||||
"- Chaque ville est visitée une fois et une seule fois :\n",
|
||||
"- Each city is visited once and only once:\n",
|
||||
"$$\\sum_{k \\in K} \\sum_{j \\in V} x_{ijk} = 1, \\forall i \\in V, i \\ne 0$$\n",
|
||||
"\n",
|
||||
"- Si un camion visite une ville, il doit en sortir :\n",
|
||||
"- If a truck visits a city, it must leave it:\n",
|
||||
"$$\\sum_{i \\in V} x_{ijk} = \\sum_{j \\in V} x_{ijk}, \\forall k \\in K, \\forall i \\in V, \\forall j \\in V $$\n",
|
||||
"<br> \n",
|
||||
"\n",
|
||||
"- Contrainte d'élimination des sous-tournées (afin de garantir que chaque camion effectue une tournée complète) :\n",
|
||||
"$$\\sum_{i \\in S, j \\notin S} x_{ijk} \\geq 1, \\forall k \\in K, \\forall \\; sous-ensemble \\; S \\; de \\; V, 0 \\in S, S \\ne V $$"
|
||||
"- Sub-tour elimination constraint (to ensure that each truck completes a full tour) :\n",
|
||||
"$$\\sum_{i \\in S, j \\notin S} x_{ijk} \\geq 1, \\forall k \\in K, \\forall \\; subset \\; S \\; de \\; V, 0 \\in S, S \\ne V $$"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -194,7 +264,7 @@
|
||||
"id": "7670fdf4-884c-4352-83fa-eed0c8b50074",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Algorithme de résolution"
|
||||
"## <u>Resolution algorithm </u>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -203,7 +273,7 @@
|
||||
"id": "45133ac2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Import des bibliothèques nécessaires"
|
||||
"#### Importing the necessary libraries"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user