ich bin relativ neu was Phyton angeht und habe ein Frage zu einem linearen Optimierungsproblem, ich benutze dazu SolverStudio ein Excel Addin bei dem man mit Phyton/Pulp linear optimieren kann.
Das Problem selbst sieht folgendermaßen aus:
Es geht darum einen bestimmten Lastgang in einem imaginären Fernwärmenetz von verschiedenen Erzeugungsanlagen die unterschiedlich teuer sind zu bedienen. Der Solver soll die Anlagenzusammensetzung mit dem niedrigsten Gesamtpreis finden.
Das hab ich grundsätzlich auch schon so umgesetzt ich hab nur ein Problem es gibt auch eine Anlage (Kessel1) welche wenn man sie betreiben will mindestens 5 MW Wärme liefern muss
Das habe ich so in die Variablendefinition geschrieben:
var_Kessel1_th = LpVariable.dicts ("thermische Leistung des Kessel1",Zeit,5,90,LpContinuous)
Es soll aber auch möglich sein diesen Kessel1 über eine binäre Variable komplett abzuschalten
Dazu habe ich noch diese binäre Variable definiert:
var_Kessel1_anaus = LpVariable.dicts ("Kessel1 an /aus",Zeit,0,1,LpBinary)
Leider ist mir nicht klar wie ich diese Variable so in meinen Code einbinde das der Kessel1 auch komplett abgeschaltet werden kann.
Hier mein bisheriger Code:
Code: Alles auswählen
from pulp import *
prob = LpProblem ("Fernwärmekosten",LpMinimize)
var_Kessel2_th = LpVariable.dicts ("thermische Leistung des Kessel2",Zeit,0,32,LpContinuous)
var_Kessel1_th = LpVariable.dicts ("thermische Leistung des Kessel1",Zeit,5,90,LpContinuous)
var_Kessel1_anaus = LpVariable.dicts ("Kessel1 an /aus",Zeit,0,1,LpBinary)
prob += lpSum( [var_Kessel2_th[i]*Kosten_Kessel2 + var_Kessel1_th[i]*Kosten_Kessel1 for i in Zeit]),"Komplette Kosten FW Versorgung"
for i in Zeit:
prob += var_Kessel2_th[i]+var_HWD_th[i] == Last_FW[i]
prob.writeLP("Fernwaermekosten.lp")
prob.solve()
Ich hoffe jemand hat eine Idee für mich. Danke im Voraus für eure Mühe
Sollte ich das Thema im falschen Bereich erstellt haben darf es gerne verschoben werden.