Python Practical Data Analysis Nachdem ich 100 Schläge gelesen hatte, interessierte ich mich für Pulp, eine Optimierungsbibliothek, und verwendete sie daher auch als Memorandum.
Ich möchte die Optimierung einfach mit Variablen durchführen, die Ganzzahlen annehmen Wenn Sie die For-Anweisung für Round-Robin verwenden, können Sie sie natürlich problemlos anwenden oder suchen, während Sie die Parameter einzeln schütteln. Dies ist jedoch zeitaufwändig und das Festlegen von Einschränkungsbedingungen ist mühsam.
Von der Konsole mit Anaconda
conda install -c conda-forge pulp
pip install ortoolpy
Kann mit installiert werden
sample.py
from pulp import LpVariable,lpSum,value
from ortoolpy import model_max,addvars,addvals
m=model_max()
v1={"x":LpVariable("vx",lowBound=0,cat='Integer'),
"y":LpVariable("vy",lowBound=0,cat='Integer')}
m+=lpSum(v1["x"]+v1["y"])
m+=lpSum(v1["x"]*2+v1["y"])<=10
m+=lpSum(v1["x"]+v1["y"]*2)<=7
m.solve()
for k,x in v1.items():
print(k,value(x))
print(value(m.objective))
x 4.0
y 1.0
5.0
Recommended Posts