Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Solver mit iterationen

Solver mit iterationen
Westerburg
Hallo alle zusammen,
ich habe da ein etwas anstregendes Problem:
Ich habe Daten, die ich optimieren möchte. Mich interessiert aber nich das Ergebnis der Optimierung, sondern die Sensitivitätsberichte.
Die spuckt mir mein Solver auch brav aus.
Insgesamt muss ich das so oft iterieren, dass die Kapazitätseinschränkung irgendwwann 1 ist.
Bis zu diesem Punkt läuft auch alles.
Mein Problem ist nur, dass mittlerweile meine Sensitivitätsberichte immer länger werden, da der Solver die Schattenpreise irgendwie pro Iteration unten dran anfügt. So habe ich ne lange Liste von Schattenpreisen = 0 und die letzten 8 (ich habe 8 Restriktionen) sind die einzigen die wichtig sind. Ich bekomme diesen Zähler auch nicht zurückgesetzt, obwohl ich den Wolver schon aus- und wieder eingeschaltet habe.
Die produziert zwei Probleme: Die Datenverarbeitung dauert erstens immer länger und ist nicht mehr möglich, falls irgendwann das Ende des Sheets erreicht wird
Und zweitens will ich später die Daten auslesen und auf eine Tabelle schreiben lassen. Dies ist schwierig, wenn es keinen festen Bereich gibt.
Ich füge mal meinen Programmcode rein, ich habe allerdings wenig Erfahrung mit VBA, aber alles läuft bisher.
Sub iteration()
Dim j As Integer
Dim n As Integer
Dim b As Variant
Dim a As Integer
j = Worksheets("data").Range("A5")
For n = j To 1 Step -1
Sheets("restriction 150").Select
Range("O6:O85").Value = 0
SolverOk SetCell:=Range("$Z$87"), MaxMinVal:=1, ByChange:=Range("$O$6:$O$85")
SolverAdd CellRef:=Range("$O$6:$O$85"), Relation:=1, FormulaText:="$L$6:$L$85"
SolverAdd CellRef:=Range("$Q$87:$X$87"), Relation:=1, FormulaText:="$Q$88:$X$88"
SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear _
:=True, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=1, _
IntTolerance:=5, Scaling:=False, Convergence:=0.0001, AssumeNonNeg:=True
SolverSolve userfinish:=True
SolverFinish KeepFinal:=1, ReportArray:=Array(2)
Sheets("Data").Select
For a = 5 To 12
Cells(29, a).Activate
b = ActiveCell.Value
If b > 1 Then
b = b - 1
ActiveCell.Value = b
Else
ActiveCell.Value = 1
End If
Next a
Next
End Sub

Wenn ihr mir helfen könnten, wäre ich äußerst froh und dankbar. Frohe Ostern

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Solver mit iterationen
04.04.2010 22:52:15
Westerburg
Habe die Lösung gefunden,
einfach den Solver einmal kurz reseten,
Naja, ich danke dennoch für all die Gedanken!
Frohe Ostern
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige