Thema Datum  Von Nutzer Rating
Antwort
Rot 48 Dummy Variablen - Kombination und Maxima
07.07.2014 20:11:44 Florian
NotSolved
08.07.2014 02:37:58 Gast75885
NotSolved
08.07.2014 10:20:24 Florian
NotSolved

Ansicht des Beitrags:
Von:
Florian
Datum:
07.07.2014 20:11:44
Views:
1152
Rating: Antwort:
  Ja
Thema:
48 Dummy Variablen - Kombination und Maxima

Moin, ich probiere momentan ein Optimierungsproblem zu lösen und habe dabei 48 Dummy Variablen die den Wert 0 oder 1 annehmen, je nach ob der dazugehörige Wert in der Lösung des Problems berücksichtigt werden soll oder nicht. So hat jede dieser 48 Dummy Variablen 2 zugehörige Werte wovon die Summe der einen Werte maximiert werden soll unter der Nebenbedingung das die Summe der zweiten Werte kleiner gleich einem Wert ist. Da das ganze 2^48 Möglichkeiten umfasst läuft der Excel Solver leider immer in lokale Maxima und ich erreiche nicht immer das absolute Maxima (mit einfachen Werten getestet). Nun würde ich mich zum einen darüber freuen wenn jemand dieses Problem mit Einstellungen für den Excel Solver beheben kann oder die zweite Variante die ich mir überlegt habe verbessern kann. Diese sieht wie folgt aus:

Via VBA Code sollen alle Kombinationen berechnet werden (momentan sehr zeitaufwändig) in dem ich 48 For Schleifen mit 0 to 1 schreibe und das ganze laufen lasse. Da ein Excelblatt nicht genug Zeilen hat, schränke ich zu kopierende Ergebnisse ein und lasse diese jeweils in eine Zeile ausgeben. Das ganze sieht wie folgt aus, wobei für ... weitere Variablen folgen.

 

Sub Kombi()

i=1

For VAR1 = 0 to 1
Range("A1").Value = VAR1
For VAR2 = 0 to 1
Range("A2"). Value = VAR2
...
For VAR48 = 0 to 1
Range("A48").Value = VAR48

If Range("B49").Value <= 100 Then
Range("B49:C49").Copy
Sheets("abc2").Select
Range("A" & i).PasteSpecial XlPasteValues
i = i + 1
Sheets("abc1").Select
Else
End If

Next VAR48
....
Next VAR2
Next VAR1

End Sub

 

Nun würde ich das ganze nach Möglichkeit effektiver schreiben da sich meine Anzahl an Variablen hin und wieder ändert (weniger aber auch mehr) und sich mit einer loop oder while Funktion möglicherweise (hoffentlich) die Rechenzeit verkürzen lässt. Allerdings habe ich leider nur diese "Ich schreibe alles hin" Methode umgesetzt bekommen die nicht sehr elegant ist. Aus der daraus resultierenden Tabelle kann ich jedoch sehr gut nach weiteren Nebenbedingungen filtern (also <90 oder <60 etc.) und habe definitiv die optimale Lösung dabei die ich durch ein =Max(:) finden kann. Es würde mich also freuen wenn jemand für mich eine gute Alternative hat um definitiv das Maximum zu finden und nach Möglichkeit alle Kombinationen berechnen zu lassen.

Mit freundlichen Grüßen
Flo


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot 48 Dummy Variablen - Kombination und Maxima
07.07.2014 20:11:44 Florian
NotSolved
08.07.2014 02:37:58 Gast75885
NotSolved
08.07.2014 10:20:24 Florian
NotSolved