Codage RO signalement d'erreur pulp

Résolu/Fermé
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 - 6 sept. 2022 à 04:19
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 - 8 sept. 2022 à 02:28

Bonjour, je travail sur un probleme de RO avecle

from pulp import*

#Specifier le probleme
prob = LpProblem("Agriculteur", LpMaximize)

#Definir les variables de controles
x1 = LpVariable("x1", lowBound=0) # car x1 >=0
x2 = LpVariable("x2", lowBound=0) # car x2 >=0

#Definir la fonction objectif
prob += 10*x1 + 12*x2

#definir les contraintes 
prob += 3*x1 + 4*x2 <= 42 # contraintes sur le temps
prob += 1*x1 + 3*x2 <=24 # contraintes sur l'angrai
prob += 1*x1 + 1*x2 <= 13 # contrainte sur la surface de parcelle cultivable

# verification du resumer de notre probleme
prob

Agriculteur:
MAXIMIZE
10*x1 + 12*x2 + 0
SUBJECT TO
_C1: 3 x1 + 4 x2 <= 42

_C2: x1 + 3 x2 <= 24

_C3: x1 + x2 <= 13

VARIABLES
x1 Continuous
x2 Continuous

# Resoudre avec le solveur par defaut
status = prob.solve()
#Afficher la solution status
LpStatus[status]

Et quand j'essaie  de résoudre le problème avec un solve une erreur du genre ce produit <<

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Input In [22], in <cell line: 4>()
      2 status = prob.solve()
      3 #Afficher la solution status
----> 4 LpStatus[status]

IndexError: list index out of range

>>


Windows / Chrome 105.0.0.0

A voir également:

5 réponses

hypothetix Messages postés 191 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 avril 2024 53
6 sept. 2022 à 13:41

Bonjour,

Quelle version de python et de pulp utilises-tu ?

Avec python 3.7.1 win 64 et pulp 2.6.0 ton programme ne sort aucun message d'erreur

from pulp import*

#Specifier le probleme
prob = LpProblem("Agriculteur", LpMaximize)

#Definir les variables de controles
x1 = LpVariable("x1", lowBound=0) # car x1 >=0
x2 = LpVariable("x2", lowBound=0) # car x2 >=0

#Definir la fonction objectif
prob += 10*x1 + 12*x2

#definir les contraintes
prob += 3*x1 + 4*x2 <= 42 # contraintes sur le temps
prob += 1*x1 + 3*x2 <=24 # contraintes sur l'angrai
prob += 1*x1 + 1*x2 <= 13 # contrainte sur la surface de parcelle cultivable

# verification du resumer de notre probleme
prob
print(prob)
# Resoudre avec le solveur par defaut
status = prob.solve()
#Afficher la solution status
LpStatus[status]
print(status)
print(LpStatus[status])
*** Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32. ***
*** Remote Python engine is active ***
>>> 
*** Remote Interpreter Reinitialized ***
Agriculteur:
MAXIMIZE
10*x1 + 12*x2 + 0
SUBJECT TO
_C1: 3 x1 + 4 x2 <= 42

_C2: x1 + 3 x2 <= 24

_C3: x1 + x2 <= 13

VARIABLES
x1 Continuous
x2 Continuous

Welcome to the CBC MILP Solver 
Version: 2.10.3 
Build Date: Dec 15 2019 

command line - C:\Python37\lib\site-packages\pulp\apis\..\solverdir\cbc\win\64\cbc.exe C:\Users\operator\AppData\Local\Temp\5cd7a70bae6e4e0ebe1cbe60def9f728-pulp.mps max timeMode elapsed branch printingOptions all solution C:\Users\operator\AppData\Local\Temp\5cd7a70bae6e4e0ebe1cbe60def9f728-pulp.sol (default strategy 1)
At line 2 NAME          MODEL
At line 3 ROWS
At line 8 COLUMNS
At line 17 RHS
At line 21 BOUNDS
At line 22 ENDATA
Problem MODEL has 3 rows, 2 columns and 6 elements
Coin0008I MODEL read with 0 errors
Option for timeMode changed from cpu to elapsed
Presolve 3 (0) rows, 2 (0) columns and 6 (0) elements
0  Obj -0 Dual inf 22 (2)
0  Obj -0 Dual inf 22 (2)
3  Obj 136
Optimal - objective value 136
Optimal objective 136 - 3 iterations time 0.002
Option for printingOptions changed from normal to all
Total time (CPU seconds):       0.00   (Wallclock seconds):       0.00

1
Optimal
>>> 

J'espère que cela t'aidera un peu.

1
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 1
7 sept. 2022 à 18:23

Merci pour l'aide j'utilise la version de python 3.9

0
hypothetix Messages postés 191 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 avril 2024 53
7 sept. 2022 à 21:53

Bonsoir,

Ton programme fonctionne puisqu'il fonctionne sur mon pc.

Es-tu sous Linux ou windows ou autre ?
Le solver sous windows est bavard comme tu peux le voir sur ma sortie d'écran.

Peux-tu nous donner la tienne complete ?

Et donner la valeur de status après la command du solver

status = prob.solve()
print(status)
1
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 1
8 sept. 2022 à 02:14

Je travail sur Windows / python 3.9 , je vois il vous fait un petit rédaction et je pense la version de votre python serait à l'origine .

Mois j'obtient directement :

Agriculteur:
MAXIMIZE
10*x1 + 12*x2 + 0
SUBJECT TO
_C1: 3 x1 + 4 x2 <= 42

_C2: x1 + 3 x2 <= 24

_C3: x1 + x2 <= 13

VARIABLES
x1 Continuous
x2 Continuous

1
Optimal
x1 => 10.0
x2 => 3.0
Max(z(x1,x2)) => 136.0

NB: le constat que j'ai fait, lorsque je travail par bloc sur jupyter notebook, mon programme ne marche pas et par contre quand je laisse le code dans un seul bloc, c nickel.

1
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 1
7 sept. 2022 à 18:25

Merci pour l'aide j'utilise la version de python 3.9 et ce type de programme marche avec d'autre problème de RO 

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KABATOURE Messages postés 5 Date d'inscription mardi 6 septembre 2022 Statut Membre Dernière intervention 8 septembre 2022 1
8 sept. 2022 à 02:28

Je suis actuellement en Licence 3 Modélisation, mathématiques analyse et simulation numérique. Et  comme vous le savez dans l'apprentissage universitaire tout est une question de système, de stratégie et d'optimisation pour réussir  efficacement, afin de devenir un ingénieur exceptionnel, donc j'ai besoin des ressources de cours très pratiques qui me permettront d'avoir des connaissances solide dans le domaine dans le but d'intégrer rapidement et efficacement le monde professionnel des ingénieurs et j'espère que vous pouvez m'aider sur la documentation de qualité.

0