lp_solve est un programme permettant de résoudre les programmes linéaires, et les programmes linéaires en nombres entiers. Il permet de résoudre des petits programmes linéaires, mais n'est pas suffisant pour les besoins en entreprise, où il est nécessaire d'utiliser de meilleurs logiciels (comme cplex). Il est cependant suffisant pour les besoins de nos TPs.
Il est également possible de l'utiliser comme une bibliothèque ("library") pour des situations plus compliquées
Le but de ce premier TD est de prendre en main ce logiciel.
Les fichiers nécessaires sont ici.
Pour utiliser lp_solve sous Windows, il faut télécharger le binaire à l'adresse suivante:
Le programme lp_solve permet de résoudre des programmes linéaires
écrits dans un fichier au format .lp
.
Attention Tous les solveurs de programme linéaire appellent leur format .lp
mais le format
.lp
de lp_solve est différent de celui de cplex, qui est différent de celui de Xpress.
Voici un exemple de tel fichier
max: 5x1-3x2; x1 - x2 >= 2; 2x1 + 3x2 <= 4; -x1 + 6x2 = 10;
example1.lp
puis lancer la commande
lp_solve example1.lp
TP1.tar.gz
le fichier brasseur.lp
.
Lancer la commande suivante et vérifiez que le tableau final est
identique au tableau vu en cours. Notez en particulier les différences.
lp_solve -s0 -S7 brasseur.lp
-x1 + 6x2 <= 10
.
Max x1 + 2x2 + 3x3 s.c. −x1 + x2 + x3 <= 20 x1 − 3x2 + x3 <= 30 0 <= x1 <= 40 , x2 >= 0
x1 + 2x2 + 3x3 <= 50
Lors d’une réunion de différents cadres de l’entreprise, certaines possibilités de nouveaux investissements ont été évoquées. Suite à cette réunion, l’analyste financier de l’entreprise présente au responsable de la gestion scientifique de l’entreprise, un tableau sommaire des divers investissements requis au début de chaque année, des valeurs actualisées nettes (VAN) de chaque projet ainsi que les fonds disponibles.
Investissement requis (euros) | |||||
---|---|---|---|---|---|
Projet | VAN | Année1 | Année2 | Année3 | Année4 |
A: Augmentation de la capacité du département d'assemblage | 92000 | 16000 | 22000 | 20000 | 15000 |
B: Agrandissement de l’entrepôt | 40000 | 25000 | 10000 | 5000 | 0 |
C: Achat d’un nouvel équipement | 100000 | 40000 | 25000 | 15000 | 0 |
D: Recherche sur un nouveau produit | 35000 | 15000 | 15000 | 15000 | 15000 |
Fonds disponibles (euros) | 80000 | 65000 | 47000 | 25000 |
corrige.t2t
disponible dans l'archive (Il vous sera demandé de rendre un tel fichier lors du TP noté).
Une entreprise fabrique trois produits A, B et C. Chaque produit nécessite des matières premières et de la main-d’œuvre. Les quantités de matières premières et de main-d’œuvre nécessaires par unité de chaque produit sont données ci-dessous (données par semaine) :
Produit | Matières premières (kg) | Main d'oeuvre (h) | profit net (euros) |
---|---|---|---|
A | 4 | 2 | 6 |
B | 2 | .5 | 2 |
C | 1 | 3 | 4 |
Disponibilité | 6000 | 4000 |
A cause de la capacité limitée d’entreposage, on ne peut pas fabriquer plus de 2500 unités des produits A, B et C au total. L’entreprise doit décider combien d’unités de chaque produit peut-elle fabriquer chaque semaine afin de maximiser le profit.
Max 6x1 + 2x2 + 4x3 s.c. 4x1 + 2x2 + x3 <= 6000 2x1 + 0.5x2 + 3x3 <= 4000 x1 + x2 + x3 <= 2500 x1, x2, x3 >= 0