La programmation linéaire (LP; programmation linéaire) est une méthode de programmation mathématique qui maximise une expression linéaire parmi les valeurs de plusieurs inégalités linéaires et des variables qui satisfont la programmation linéaire. C'est une méthode pour trouver la valeur à minimiser. Le problème d'optimisation qui est la cible de la méthode de programmation linéaire est appelé le problème de programmation linéaire. Source: [Wikipedia]
Comment trouver la variable objective la plus grande (la plus petite) en définissant des contraintes avec plusieurs inégalités linéaires ou des équations linéaires pour la variable objectif
example1
table | Article A | Article B |
---|---|---|
Processus 1 | 2 heures | 2 heures |
Étape 2 | 3 heures | 5 heures |
Profit | 4 000 yens | 5000 yens |
Import de bibliothèque
from pulp import *
Code source de résolution de problèmes
#Générer un objet de problème
prob = LpProblem(name='Exemple de programmation en nombres entiers 1',sense=LpMaximize)
#Réglage variable
x1 = LpVariable('x1',lowBound=0)
x2 = LpVariable('x2',lowBound=0)
#Définition de la variable objectif
prob += 4*x1 + 5*x2
#Réglage de la contrainte
prob += 2*x1 + 2*x2 <= 7,'ineq1'
prob += 3*x1 + 5*x2 <= 14,'ineq2'
#Sortie de problème
print('-------Sortie d'informations sur les problèmes-------')
print(prob)
#Trouver une solution
prob.solve()
#Comment ça a été résolu
print('-------Informations sur la solution-------')
print(LpStatus[prob.status])
#Sortie de valeur optimale
print('-------Sortie de valeur optimale-------')
print('Optimal Value ={}'.format(value(prob.objective)))
#Sortie de solution optimale
print('-------Sortie de solution optimale-------')
for val in prob.variables():
print('{}={}'.format(val.name,value(val)))
-------Sortie d'informations sur les problèmes-------
Exemple de programmation en nombres entiers 1:
MAXIMIZE
4*x1 + 5*x2 + 0
SUBJECT TO
ineq1: 2 x1 + 2 x2 <= 7
ineq2: 3 x1 + 5 x2 <= 14
VARIABLES
x1 Continuous
x2 Continuous
-------Informations sur la solution-------
Optimal
-------Sortie de valeur optimale-------
Optimal Value =15.75
-------Sortie de solution optimale-------
x1=1.75
x2=1.75
Recommended Posts