Codage RO signalement d'erreur pulp
RésoluKABATOURE Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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
- Codage RO signalement d'erreur pulp
- Codage ascii - Guide
- Codage binaire - Guide
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
5 réponses
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.
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)
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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe 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é.
Merci pour l'aide j'utilise la version de python 3.9