[PYTHON] Optimierungsbeschreibungsmethode nach Gurobi-Art

1. Einstellungen

・ Installieren Sie die Bibliothek mit pip install mypulp

2. Montagemethode

#① Rufen Sie die Optimierungsbibliothek auf
from mypulp import *

#② Definieren Sie das Modell
model = Model("Der Name kann alles sein")

#③ Variablen deklarieren
X =model.addVar(lb=0,ub=GRB.INFINITY,vtype=‘C’,name=‘’)
#C:Continuous,B:Binary,I:Inter

#④ Aktualisieren Sie das Modell(Nach Variablendeklaration)
model.update()
#Erforderlich für Gurobi, aber nicht für Fruchtfleisch

#⑤ Einschränkungen definieren
model.addConstr(Formel auf der linken Seite==Formel auf der rechten Seite, name='Name') 

#⑥ Definieren Sie die Zielfunktion
model.setObjective(Zielfunktionsformel, GRB.MINIMIZE)

#⑦ Lösen Sie das Modell
model.optimize()

#⑧ Geben Sie das Ergebnis aus
print('Opt. Value=', model.ObjVal)
print('x=', x.X)

#Speicheroptimierung führt zum Status
status = model.Status()
#If status == GRB.Status.OPTIMAL:
#Prozess mit


#So überprüfen Sie das Formelergebnis
model.write("Name.lp")

for v in model.getVars():
	print(v, v.X)#Variabel zu v, v.Die optimale Lösung ist in X.

for c in model.getConstr():
	print(c.ConstrName, c.Slack, c.Pi)
	#C.ConstrName mit Einschränkungsname, c.Slack-Variablen in Slack,
	#c.Pi enthält Lagrange-Multiplikator

Recommended Posts

Optimierungsbeschreibungsmethode nach Gurobi-Art
SVM-Optimierung durch aktive Set-Methode
Beschreibungsmethode zur Wiederverwendung von Variablen in Shellscript
Siegermethode für Pferderennen durch Kombinationsoptimierung