Hallo zusammen,
ich versuche verzweifelt über VBA im Solver als Nebenbedingung die Ganzzahligkeit hinzuzufügen.
Anbei mein Code:
SolverReset
SolverOptions MaxTime:=0, Iterations:=0, Precision:=0.000001, Convergence:= _
0.0001, StepThru:=False, Scaling:=False, AssumeNonNeg:=False, Derivatives:=2
SolverAdd CellRef:="$E$1:$E$4", Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$E$1:$E$4", Relation:=4 'Diese Bedingung wird nicht übernommen
SolverAdd CellRef:="$D$5", Relation:=3, FormulaText:="$C$13"
SolverOk SetCell:="$G$5", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$1:$E$4", _
Engine:=2, EngineDesc:="Simplex LP"
SolverSolve True
Aslo ich habe in G5 in Kostenfunktion aus (Preis in F1 mal Anzahl E1 )+ (F2 * E2) + (F3*E3)+ (F4*E4). Diese soll minimiert werden.
In F sind fixe Preise und in E die Anzahl, welche mit dem Solver verändert werden soll. Diese muss größer 0 und ganzzahlig sein.
Zusätzlcih ist in B zu jedem "E" ein Wert hinterlegt, welcher in Summe mindestens einen fixen Wert aus C13 erreichen soll.
Führe ich es per Hand mit dem Solver aus funktioniert es einwandfrei. Nur, wenn ich es per VBA ausführe wird die Bedingung der Ganzzahligkeit nicht übernommen. Beim Aufzeichnen per Makrorecorder stand als FormulaText:="ganzzahlig" dahinter. Da es optional ist, habe ich es rausgenommen.
Auf beiden Wegen funktioniert es allerdings nicht.
Freue mich über jeden Ansatz, um die Bedinung im Solver zu berrücksichtigen.
Danke
Tamara
|