vergleich von software zur optimierung - tobias elze · ☞wird die eingabe des problems als system...
TRANSCRIPT
![Page 1: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/1.jpg)
Fachseminar �Optimierung�, Universitat Leipzig
Vergleich mathematischer Software
zur Losung von
linearen und gemischt ganzzahligen
Optimierungsproblemen
Vortrag am 20. Januar 2003 von Tobias Elze
![Page 2: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/2.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
1 Einleitung
Tobias Elze, 8051754 1
![Page 3: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/3.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
1.1 Zielstellung
✏ XPress: teure Spezialsoftware mit geringer Verbreitung
☞ im studentischen Arbeitsalltag i. d. R. nicht verfugbar
☞ in der Praxis allenfalls in Firmen vorhanden, die haufig
Optimierungsprobleme losen mussen
Tobias Elze, 8051754 2
![Page 4: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/4.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Wie gut konnen weit verbreitete oder frei verfugbare Softwa-
repakete mit XPress mithalten?
✏ Welche sonstigen Moglichkeiten zur Optimierung bieten an-
dere Pakete?
Tobias Elze, 8051754 3
![Page 5: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/5.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
1.2 Warum dieser Vergleich unfair ist
✏ Softwarepakete mit vollkommen verschiedenen Hintergrunden
und Anwendungsschwerpunkten
✏ XPress und lp solve: Spezialsoftware fur Optimierungsproble-
me
✏ alle anderen Programme: Optimierung entweder nur einer
von vielen Schwerpunkten oder sogar nur Nebenprodukt zur
Losung anderer Probleme
Tobias Elze, 8051754 4
![Page 6: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/6.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ dabei Spezialprogrammen Computeralgebrasysteme und Nu-
merikpakete gegenubergestellt
☞ Vergleich von Apfeln mit Birnen und Pflaumen
✏ außerdem: XPress lief aus lizenzrechtlichen Grunden auf an-
derer Hardware (daher sind die Zeitmessungen nur tendenziell
mit den ubrigen Programmen vergleichbar)
Tobias Elze, 8051754 5
![Page 7: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/7.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
1.3 Warum dieser Vergleich dennoch sinnvoll
ist
✏ Vergleich versucht, die Starken der verschiedenen Program-
me zu berucksichtigen
✏ Erwartungen gemaß des Selbstanspruchs der Programme:
Tobias Elze, 8051754 6
![Page 8: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/8.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
☞ Spezialprogramme zur Optimierung→ hohe Berechnungs-
geschwindigkeit, guter Umgang mit großen Mengen an
Variablen und Bedingungen
☞ Computeralgebrasysteme → geeignet zum Experimentie-
ren und Hypothesengenerieren, also Bereitstellung kom-
fortabler Funktionen, die leicht zu bedienen sind; dafur
aber erheblich langsamer und nur fur kleine Problemstel-
lungen (wenige Variablen) ausgelegt
☞ Numerikpakete → schneller als Computeralgebrasysteme
und fur großere Problemstellungen ausgerichtet als diese,
aber schlechtere Leistung als Spezialsoftware zur Opti-
mierung
Tobias Elze, 8051754 7
![Page 9: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/9.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
2 Der Vergleich
Tobias Elze, 8051754 8
![Page 10: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/10.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
2.1 Welche Programme wurden einbezogen?
✏ Spezialsoftware zur Optimierung: XPress (Version auf mi-
sun105) und lp solve 4.0 (beta)
✏ Computeralgebrasysteme: Maple 7.0, Mathematica 4.2, Mu-
PAD 2.5.2, (Reduce 3.7: disqualifiziert wegen standiger Absturze)
Tobias Elze, 8051754 9
![Page 11: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/11.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Numerikpakete: Matlab R12,
✏ R 1.6.0, (Octave (Release 2002-09-11a): disqualifiziert we-
gen standiger Absturze)
Tobias Elze, 8051754 10
![Page 12: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/12.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ alle diese Programme sind entweder auf fur Studenten frei
zuganglichen Rechnern in der Universitat installiert (wenn
auch teilweise in anderen Versionen) und/oder frei verfugbar
✏ XPress konnte aus lizenzrechtlichen Grunden nur auf mi-
sun105 unter Solaris ausgefuhrt werden
✏ alle anderen Programme liefen auf einem Athlon XP 1800+
unter Windows 2000
Tobias Elze, 8051754 11
![Page 13: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/13.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
2.2 Nach welchen Kriterien wurde verglichen?
✏ quantitativ wurden die CPU-Zeiten fur verschieden große
Problemstellungen gemessen
✏ qualitativ wurde der jeweilige Quelltext zur Umsetzung des
Problems ausgewertet:
☞ War der Quelltext einfach erstellbar?
☞ Ließe sich eine Funktion (Routine) fur die ausgewahlte
Problemstellung schreiben?
Tobias Elze, 8051754 12
![Page 14: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/14.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
☞ Wie kompliziert sind leichte Anderungen in der Problem-
formulierung in existierenden Quelltext zu ubernehmen?
☞ Wird die Eingabe des Problems als System von Gleichun-
gen / Ungleichungen unterstutzt (fur kleine Probleme leicht
zu realisieren, vermutlich Computeralgebrasysteme) vs. die
Eingabe in Matrixform (geeignet zum Einlesen großerer
Datenmengen, vermutlich Numerikpakete)?
Tobias Elze, 8051754 13
![Page 15: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/15.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
3 Mathematische Problemstellung
Tobias Elze, 8051754 14
![Page 16: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/16.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Als mathematisches Problem wurde das im letzten Vortragvorgestellte Facility Location Problem (Standortproblem) aus-gewahlt.
✏ exemplarisch fur ein gemischt ganzzahliges lineares Problem(mixed integer linear problem, MILP)
✏ verschiedene Herangehensweisen moglich, z. B.:
☞ kombinatorisch, d. h. Ganzzahligkeit (hier: Binaritat) vonvornherein angenommen, geschickte Enumeration gesucht,oder
☞ zuerst zu Grunde liegendes lineares Problem losen (rela-xierte Losung), danach z. B. durch Branch and BoundGanzzahligkeit herstellen
Tobias Elze, 8051754 15
![Page 17: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/17.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Hier: zweite Moglichkeit gewahlt
✏ Somit lassen sich zwei Teillosungen getrennt betrachten: das
lineare Problem und der Verzweigungsalgorithmus (Branch
and Bound)
Tobias Elze, 8051754 16
![Page 18: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/18.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
3.1 Wiederholung: Facility Location Problem
✏ Problemstellung: Eine Anzahl von facilities (Bedienungsein-
richtungen) soll eine Anzahl von customers (Kunden) bedie-
nen:
Tobias Elze, 8051754 17
![Page 19: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/19.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Customers
facilities
Tobias Elze, 8051754 18
![Page 20: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/20.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Facility Location Problem: Kosten minimieren unter den Fra-
gestellungen:
☞ Welche Bedienungseinrichtungen werden aktiv?
☞ Welche Einrichtung bedient welchen Kunden, so dass je-
der Kunde von genau einer Einrichtung bedient wird?
Tobias Elze, 8051754 19
![Page 21: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/21.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Gegeben:
✏ dj: Bedarf von Kunde j,
✏ ri,j: Kosten, um Bedarf von Kunde j durch Einrichtung i zudecken,
✏ fi: Fixkosten (Betriebskosten) der Einrichtung i,
✏ c1: minimale Auslastung von Einrichtung i (damit deren Be-trieb sich lohnt),
✏ c2: maximale Kapazitat von Einrichtung i.
Tobias Elze, 8051754 20
![Page 22: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/22.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Wir fuhren ein:
Entscheidungsvektor y:
yi ,
{1, falls facility i geoffnet ist0, sonst
∀i = 1, .., nf
Binare Matrix x:
xi,j ,
{1, falls facility i Kunden j bedient,0, sonst
∀i = 1, .., nf , ∀j = 1, .., mz
Tobias Elze, 8051754 21
![Page 23: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/23.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Somit konnen wir ein Facility Location Problem als integer linear
program formulieren:
min
nf∑i=1
mz∑j=1
ri,jdjxi,j +
nf∑i=1
fiyi Gesamtkosten
s. t.∑i
xi,j = 1, ∀j 1 Kunde → 1 Facility∑j
djxi,j ≥ c1yi, ∀i minimale Auslastung
∑j
djxi,j ≤ c2yi, ∀i maximale Kapazitat
Tobias Elze, 8051754 22
![Page 24: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/24.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
3.2 Teillosung 1: Lineare Programmierung
(relaxierte Losung)
✏ obige Problemstellung ohne die Ganzzahligkeitsbedingung ⇒x und y konnen nichtganzzahlige Elemente erhalten
✏ Betrachtung dieser Teillosung ist fruchtbar fur unseren Ver-
gleich, denn die meisten der hier betrachteten Programme
konnen lediglich Teillosung 1 berechnen
Tobias Elze, 8051754 23
![Page 25: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/25.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Anwendung eines Algorithmus der Linearen Programmierung
(i. d. R. eine Form des Simplex-Algorithmus) (XPress bietet
hier drei verschiedene Algorithmen zur Auswahl)
Betrachten wir dazu das folgende Beispiel (entnommen aus dem
vorangegangenen Vortrag):
R =
(0.7 0.8 1.3 2.21.3 1.1 0.8 0.8
)
d = (50,325,475,200)
f = (1600,2000)
c = (400,600)
Tobias Elze, 8051754 24
![Page 26: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/26.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Die Losung des zugehorigen linearen Problems (linear relaxation)
lautet:
✏ minimale Kosten: 4005.83
X =
(1 1 1 00 0 0 1
)
y = (1.41667,0.333333)
Offensichtlich ist y nicht ganzzahlig – folglich gehen wir uber zu
Teillosung 2.
Tobias Elze, 8051754 25
![Page 27: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/27.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
3.3 Teillosung 2: Branch and Bound
✏ zur Herstellung der Ganzzahligkeit: verschiedene Moglichkei-
ten (vgl. entsprechender Vortrag)
✏ hier: Branch and Bound ausgewahlt (alle Programme, die
Ganzzahligkeit unterstutzen, geben an, mit Branch and Bound
zu arbeiten)
Tobias Elze, 8051754 26
![Page 28: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/28.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Was ist Branch and Bound?
☞ kein Algorithmus, sondern eine Verfahrensweise → kann
unterschiedlich algorithmisch implementiert werden
☞ Idee: Verzweigung → Problem wird in Teilprobleme unter-
teilt, auf diese Teilprobleme wird rekursiv der Algorithmus
angwewandt
✏ bei Minimierung arbeiten wir mit unteren Schranken
☞ globale untere Schranke sind die Kosten der relaxierten
Losung (offensichtlich kann keine Integer-Losung besser
werden als diese)
Tobias Elze, 8051754 27
![Page 29: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/29.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Mogliche Implementierung eines Branch and Bound Algorithmus
fur unsere Problemstellung:
✏ Sei z der jeweilige Funktionswert der Zielfunktion.
✏ Unterprobleme: jeweils ein Variablenwert, der noch nicht binar
ist, wird 0 bzw. 1 gesetzt (zusatzlicher Constraint beim LP),
solange, bis alle Werte binar sind
✏ Auswahl des Unterproblems:
☞ Auswahl eines aktiven Unterproblems (also eines, das zu-
vor noch nicht ausgewahlt wurde)
Tobias Elze, 8051754 28
![Page 30: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/30.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
☞ Auswahl des Unterproblems mit dem niedrigsten z
Zuruck zu unserem Beispiel:
z = 4005.83, X =
(1 1 1 00 0 0 1
), y = (1.41667,0.333333).
Wenn wir sukzessive verzweigen, erhalten wir Folgendes (wenn
nicht anders gekennzeichnet, existieren noch Losungen, die kei-
ne Binarzahlen sind; oben jeweils unsere neu eingefuhrten Cons-
traints, unten der Funktionswert, sofern das Problem losbar war):
Tobias Elze, 8051754 29
![Page 31: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/31.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
Tobias Elze, 8051754 30
![Page 32: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/32.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
[s. (5)]
Tobias Elze, 8051754 31
![Page 33: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/33.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
[s. (6)][s. (5)]
Tobias Elze, 8051754 32
![Page 34: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/34.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)][s. (7)]
Tobias Elze, 8051754 33
![Page 35: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/35.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)]y=(0,0)z n. def.
(8)
[s. (8)] [s. (7)]
Tobias Elze, 8051754 34
![Page 36: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/36.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)]y=(0,0)z n. def.
(8)
[s. (8)] [s. (7)]
y=(1,1), x13=0z = 4540
(9)
Tobias Elze, 8051754 35
![Page 37: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/37.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)]y=(0,0)z n. def.
(8)
[s. (8)] [s. (7)]
y=(1,1), x13=0z = 4540
(9)
y=(1,1), x13=1z = 4747.5
(10)
Tobias Elze, 8051754 36
![Page 38: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/38.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)]y=(0,0)z n. def.
(8)
[s. (8)] [s. (7)]
y=(1,1), x13=0z = 4540
(9)
y=(1,1), x13=1z = 4747.5
(10)
y=(1,1), x13=0, x14=0z n. def.
(11)
Tobias Elze, 8051754 37
![Page 39: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/39.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
LPz = 4005.83
y1=0z = 4462.5
y1=1z = 4047.5
y2=0z = 4152.5
y2=1z = 4072.5
(1) (2) (3) (4)
y=(1,0)z n. def.
(5)
y=(1,1)z = 4472.5
(6)
y=(0,1)z n. def.
(7)
[s. (6)][s. (5)]y=(0,0)z n. def.
(8)
[s. (8)] [s. (7)]
y=(1,1), x13=0z = 4540
(9)
y=(1,1), x13=1z = 4747.5
(10)
y=(1,1), x13=0, x14=0z n. def.
(11)
y=(1,1), x13=0, x14=1z = 4715 - INTEGER !
(12)
Tobias Elze, 8051754 38
![Page 40: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/40.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Fall 10 muss nicht weiter verzweigt werden, weil alle eventuell
noch entstehenden Binarlosungen großer oder gleich 4747.5 sein
mussen.
Hier noch einmal die vollstandigen Losungen aller losbaren Falle:
Tobias Elze, 8051754 39
![Page 41: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/41.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
Out[42]//TableForm=Constraints z X y
1 y1 ... 0 4462.5 0. 0. 0. 0.1. 1. 1. 1.
0.1.75
2 y1 ... 1 4047.5 1. 1. 0.473684 0.0. 0. 0.526316 1.
1.0.75
3 y2 ... 0 4152.5 1. 1. 1. 1.0. 0. 0. 0.
1.750.
4 y2 ... 1 4072.5 1. 1. 0.157895 0.0. 0. 0.842105 1.
0.751.
6 y1 ... 1y2 ... 1 4472.5 1. 1. 0.157895 0.
0. 0. 0.842105 1.1.1.
9y1 ... 1y2 ... 1x13 ... 0
4540. 1. 1. 0. 0.3750. 0. 1. 0.625
1.1.
10y1 ... 1y2 ... 1x13 ... 1
4747.5 1. 0.230769 1. 0.0. 0.769231 0. 1.
1.1.
12y1 ... 1y2 ... 1x13 ... 0x14 ... 1
4715. 1. 1. 0. 1.0. 0. 1. 0.
1.1.
branchandbound.nb 1
Tobias Elze, 8051754 40
![Page 42: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/42.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4 Egebnisse Teillosung Lineares
Programmieren
Tobias Elze, 8051754 41
![Page 43: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/43.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ zunachst Optimierungsprogramme, danach Computeralgebra-
systeme, zuletzt Numerikprogramme getestet
✏ Angabe des jeweiligen Quelltextes des Beispiels
✏ getestet mit verschieden großen Facility Location Problemen
☞ per Zufallsgenerator erstellt
Tobias Elze, 8051754 42
![Page 44: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/44.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
☞ ri,j gleichverteilt zwischen 0 und 2.5
☞ dj gleichverteilt zwischen 50 und 2050
☞ fi gleichverteilt zwischen 1000 und 10000
☞ c1 = 120∑
j d
☞ c2 = 1920∑
j d
✏ zuerst Lineares Programming getestet, danach (falls vom
Programm unterstutzt) Integer Programming
Tobias Elze, 8051754 43
![Page 45: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/45.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1 XPress-MP (Mosel / Optimizer)
4.1.1 Beschreibung
XPress ist durch den intensiven Gebrauch im Seminar hinrei-
chend bekannt – hier eine kurze Zusammenfassung:
✏ Problembeschreibungssprache Mosel → wird kompiliert (⇒Geschwindigkeitsgewinn)
Tobias Elze, 8051754 44
![Page 46: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/46.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Lineares Programmieren: drei Algorithmen existieren im Op-
timizer:
☞ Dual Simplex (default; -d),
☞ Primal Simplex (-p),
☞ Newton Barrier (-b)
✏ Integer Programming: In Mosel durch zusatzliche Constraints
angegeben.
Tobias Elze, 8051754 45
![Page 47: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/47.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1.2 Quelltext fur Beispiel, Linear Program
model expl
uses "mmxprs"
declarations
p = 1..2
q = 1..4
d: array(q) of real
f: array(p)of real
r: array(p, q) of real
c: array(1..2) of real
x: array(p, q) of mpvar
y: array(p) of mpvar
end-declarations
Tobias Elze, 8051754 46
![Page 48: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/48.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
d:= [ 50, 325, 475, 200 ]
f := [ 1600, 2000 ]
c := [ 400, 600 ]
r := [ 0.7, 0.8, 1.3, 2.2,
1.3, 1.1, 0.8, 0.8 ]
forall (j in q)
con(j) := sum(i in p) (x(i, j)) = 1
forall (i in p) do
sum(j in q) (d(j)*x(i, j)) <= c(2)*y(i)
sum(j in q) (d(j)*x(i, j)) >= c(1)*y(i)
end-do
Tobias Elze, 8051754 47
![Page 49: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/49.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
obj:= sum(i in p) ( sum(j in q) ( r(i, j)*d(j)*x(i, j) ) )
+ sum(i in p) ( y(i)*f(i) )
minimize(obj)
writeln("Min: ", getobjval)
forall (i in p) do
forall(j in q)
writeln("x(", i, ",", j, ") = ", getsol(x(i, j)) )
end-do
forall (i in p)
writeln("y(", i, ") = ", getsol(y(i)))
end-model
Tobias Elze, 8051754 48
![Page 50: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/50.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1.3 Bewertung des Quelltextes
✏ Mosel ideal zur Beschreibung von Optimierungsproblemen
✏ Facility Location Probleme konnen ohne Notwendigkeit von
Umformulierungen direkt eingegeben werden (durch Unter-
stutzung der Eingabe von Summen)
✏ Schreiben von Funktionen, denen als Parameter nur die Vek-
toren / Matrix ubergeben werden, ist kein Problem
Tobias Elze, 8051754 49
![Page 51: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/51.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1.4 Geschwindigkeiten (in Sek.) LP
size Dual Simpl. Primal Simpl. Newton Barrier20x40 0 0 030x60 0 0 050x100 1 1 1100x200 6 5 9200x400 18 23 54300x600 111 78 210400x800 306 457 527500x1000 567 598 712
Tobias Elze, 8051754 50
![Page 52: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/52.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
20x40 30x60 50x100 100x200 200x400 300x600 400x800 500x1000
Dual SimplexPrimal SimplexNewton Barrier
XPress MP (Linear Programming)
locations x customers
time
in s
ec
010
020
030
040
050
060
070
0
Tobias Elze, 8051754 51
![Page 53: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/53.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1.5 Quelltext fur Beispiel, Integer Program
Es werden lediglich die folgenden Zeilen hinzugefugt:
forall (i in p) do
forall(j in q)
x(i, j) is_binary
end-do
forall (i in p)
y(i) is_binary
Tobias Elze, 8051754 52
![Page 54: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/54.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.1.6 Geschwindigkeiten (in Sek.) IP
size time10x50 120x40 220x80 430x60 1832x60 25
Tobias Elze, 8051754 53
![Page 55: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/55.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
10x50 20x40 20x80 30x60 32x60
XPress, Integer Programming
locations x customers
time
in s
ec
05
1015
2025
Tobias Elze, 8051754 54
![Page 56: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/56.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2 lp solve 4.0 beta
4.2.1 Beschreibung
✏ lp solve ist Open Source Programm (GPL), geschrieben in
ANSI-C
✏ Quelle: ftp://ftp.es.ele.tue.nl/pub/lp solve
✏ liest sowohl Eingabe von Kommandozeile als auch mps- und
lp-Dateien
Tobias Elze, 8051754 55
![Page 57: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/57.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
☞ in Kommandozeile: Eingabe der Matrix moglich
☞ lp-Dateien: lassen Eingabe der Gleichungen / Ungleichun-
gen zu
✏ Aber: alle Zahlen mussen direkt eingegeben werden, ohne die
Moglichkeit der Manipulation durch mathematische Opera-
tionen
✏ ⇒ schreiben von Funktionen nicht moglich
✏ brauchbar fur Aufrufe aus anderen Programmen, ansonsten
unhandlich
Tobias Elze, 8051754 56
![Page 58: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/58.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2.2 Quelltext fur Beispiel, Linear Program (lp-Datei)
min: 35*x1c1 + 260*x1c2 + 617.5*x1c3 + 440*x1c4 + 65*x2c1 +
357.5*x2c2 + 380*x2c3 + 160*x2c4 + 1600*y1 + 2000*y2;
+x1c1+x2c1 = 1;
+x1c2+x2c2 = 1;
+x1c3+x2c3 = 1;
+x1c4+x2c4 = 1;
50*x1c1 + 325*x1c2 + 475*x1c3 + 200*x1c4 - 400*y1 >= 0;
50*x2c1 + 325*x2c2 + 475*x2c3 + 200*x2c4 - 400*y2 >= 0;
50*x1c1 + 325*x1c2 + 475*x1c3 + 200*x1c4 - 1000*y1 <= 0;
50*x2c1 + 325*x2c2 + 475*x2c3 + 200*x2c4 - 1000*y2 <= 0;
Tobias Elze, 8051754 57
![Page 59: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/59.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2.3 Bewertung des Quelltextes
✏ unkomfortabel fur eine Eingabe per Hand
✏ Quelltext sollte automatisch generiert werden (z. B. Aufruf
aus anderem Programm)
Tobias Elze, 8051754 58
![Page 60: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/60.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2.4 Geschwindigkeiten (in Sek.) LP
size lp solve Dual Simpl. v. XPress20x40 0 030x60 0 050x100 0 1100x200 3 6200x400 23 18300x600 84 111400x800 216 306500x1000 478 567
Tobias Elze, 8051754 59
![Page 61: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/61.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
20x40 30x60 50x100 100x200 200x400 300x600 400x800 500x1000
lp_solveXPress Dual Simplex
lp_solve, Linear Programming
locations x customers
time
in s
ec
010
020
030
040
050
0
Tobias Elze, 8051754 60
![Page 62: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/62.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2.5 Quelltext fur Beispiel, Integer Program
✏ an obige Datei wird unten angefugt:
int x1c1, x1c2, x1c3, x1c4, y1, x2c1, x2c2, x2c3, x2c4, y2;
Tobias Elze, 8051754 61
![Page 63: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/63.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.2.6 Geschwindigkeiten (in Sek.) IP
size lp solve XPress10x50 0 120x40 0 220x80 31 4
(Alles weitere mehr als 10 Minuten → Abbruch.)
Tobias Elze, 8051754 62
![Page 64: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/64.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.3 Maple 7.0
4.3.1 Beschreibung
✏ Computeralgebrasystem, kommerziell
✏ im ilabws-Pool (Sun-Pool, 1. Etage) installiert
✏ keine Moglichkeiten zur Integer Programmierung
Tobias Elze, 8051754 63
![Page 65: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/65.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ hat aber Simplex-Paket:
☞ viele verschiedene Teile des Simplex-Algorithmus lassen
sich einzeln ansprechen
☞ z. B. Funktionen basis, pivot, standardize, ...
☞ ⇒ geeignet zum Experimentieren
✏ Funktionen maximze und minimize zur Linearen Program-
mierung aus diesem Paket
Tobias Elze, 8051754 64
![Page 66: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/66.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.3.2 Quelltext fur Beispiel, (nur Linear Program)
with(simplex):
d:= [ 50, 325, 475, 200 ];
f := [ 1600, 2000 ];
r := [[0.7, 0.8, 1.3, 2.2],
[1.3, 1.1, 0.8, 0.8]];
c := [400, 1000];
minimize(
r[1, 1]*d[1]*x11
+ r[1, 2]*d[2]*x12
+ r[1, 3]*d[3]*x13
+ r[1, 4]*d[4]*x14
+ r[2, 1]*d[1]*x21
Tobias Elze, 8051754 65
![Page 67: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/67.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
+ r[2, 2]*d[2]*x22
+ r[2, 3]*d[3]*x23
+ r[2, 4]*d[4]*x24
+ y1*f[1]+ y2*f[2],
{
x11 + x21 = 1,
x12 + x22 = 1,
x13 + x23 = 1,
x14 + x24 = 1,
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 >= c[1]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 >= c[1]*y2,
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 <= c[2]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 <= c[2]*y2
},
NONNEGATIVE
);
Tobias Elze, 8051754 66
![Page 68: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/68.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.3.3 Bewertung des Quelltextes
✏ zwar lassen sich Gleichungen / Ungleichungen direkt einge-
ben (ubersichtlich, einfach verstandlich)
✏ aber: bei großeren Problemstellungen unflexibel (Quelltexte
mussen wieder automatisch generiert werden)
✏ Funktion zum Facility Location Problem lasst sich nur mit
großem Aufwand verwirklichen
Tobias Elze, 8051754 67
![Page 69: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/69.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.3.4 Geschwindigkeiten (in Sek.)
size time5x10 010x20 420x40 2430x60 70
(Alles weitere fuhrte zum Absturz von Maple bei direkter Einga-
be.)
Tobias Elze, 8051754 68
![Page 70: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/70.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.4 Mathematica 4.2
4.4.1 Beschreibung
✏ Computeralgebrasystem, kommerziell
✏ im Mathe-Pool installiert
✏ keine Moglichkeiten zur Integer Programmierung (es existiert
dazu aber ein kommerzielles Zusatzpaket)
Tobias Elze, 8051754 69
![Page 71: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/71.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Lineare Programmierung: zwei Moglichkeiten
☞ entweder Gleichungen / Ungleichungen eingeben (Funk-
tionen ConstrainedMin[] / ConstrainedMax[])
☞ oder Matrix direkt eingeben (Funktion LinearProgram-
ming[])
✏ folglich Funktion fur Facillity Location Problem einfach rea-
lisierbar
Tobias Elze, 8051754 70
![Page 72: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/72.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.4.2 Quelltext fur Beispiel, (nur Linear Program), Funk-
tion fur Fac. Loc.
facloc[d_, f_, r_, c_]:= LinearProgramming[
Flatten[{# d & /@ r, f}],
Join[
Transpose[Join[Flatten[IdentityMatrix[Length[d]] & /@
f, 1], 0 r]],
Flatten[MapThread[Join, {Flatten[d # & /@ #] & /@
IdentityMatrix[Length[f]],
-#*IdentityMatrix[Length[f]]}] & /@ c, 1]
],
Transpose[{
Join[0*d+1, 0*f, 0*f],
Join[0*d, 0*f+1, 0*f-1]}]]
Tobias Elze, 8051754 71
![Page 73: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/73.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.4.3 Bewertung des Quelltextes
✏ kurz und elegant
✏ moglicherweise fur Einsteiger verwirrend
✏ durch die Existenz zweier Moglichkeiten der Umsetzung her-
vorragend zum Experimentieren geeignet
Tobias Elze, 8051754 72
![Page 74: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/74.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.4.4 Geschwindigkeiten (in Sek.)
size time5x10 010x20 020x40 530x60 1550x100 88
Tobias Elze, 8051754 73
![Page 75: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/75.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.5 MuPAD 2.5.2
4.5.1 Beschreibung
✏ Computeralgebrasystem
✏ kommerziell, aber fur Universitatsangehorige kostenlos
✏ Quelle: http://www.mupad.com/
✏ im ilabws-Pool installiertTobias Elze, 8051754 74
![Page 76: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/76.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
✏ Optimierung: Es existiert Bibliothek linopt, die Lineare Op-
timierung incl. Integer Programming umfasst.
✏ viele verschiedene Teile des Simplex-Algorithmus lassen sich
einzeln ansprechen
✏ ⇒ hervorragend zum Experimentieren geeignet
Tobias Elze, 8051754 75
![Page 77: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/77.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.5.2 Quelltext fur Beispiel
d:= [ 50, 325, 475, 200 ];
f := [ 1600, 2000 ];
r := array(1..2, 1..4, [[0.7, 0.8, 1.3, 2.2],
[1.3, 1.1, 0.8, 0.8]]);
c := [400, 1000];
linopt::minimize([
{
x11 + x21 = 1,
x12 + x22 = 1,
x13 + x23 = 1,
x14 + x24 = 1,
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 >= c[1]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 >= c[1]*y2,
Tobias Elze, 8051754 76
![Page 78: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/78.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 <= c[2]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 <= c[2]*y2
},
r[1, 1]*d[1]*x11
+ r[1, 2]*d[2]*x12
+ r[1, 3]*d[3]*x13
+ r[1, 4]*d[4]*x14
+ r[2, 1]*d[1]*x21
+ r[2, 2]*d[2]*x22
+ r[2, 3]*d[3]*x23
+ r[2, 4]*d[4]*x24
+ y1*f[1]+ y2*f[2],
NonNegative
]);
Tobias Elze, 8051754 77
![Page 79: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/79.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
// Integer Programming:
linopt::minimize([
{
x11 + x21 = 1,
x12 + x22 = 1,
x13 + x23 = 1,
x14 + x24 = 1,
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 >= c[1]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 >= c[1]*y2,
d[1]*x11 + d[2]*x12 + d[3]*x13 + d[4]*x14 <= c[2]*y1,
d[1]*x21 + d[2]*x22 + d[3]*x23 + d[4]*x24 <= c[2]*y2,
y1<=1,
y2<=1
},
Tobias Elze, 8051754 78
![Page 80: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/80.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
r[1, 1]*d[1]*x11
+ r[1, 2]*d[2]*x12
+ r[1, 3]*d[3]*x13
+ r[1, 4]*d[4]*x14
+ r[2, 1]*d[1]*x21
+ r[2, 2]*d[2]*x22
+ r[2, 3]*d[3]*x23
+ r[2, 4]*d[4]*x24
+ y1*f[1]+ y2*f[2],
NonNegative,
All
]);
Tobias Elze, 8051754 79
![Page 81: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/81.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.5.3 Bewertung des Quelltextes
Siehe Maple. 4.5.4 Geschwindigkeiten (in Sek.), LP
size time5x10 210x20 1620x40 10630x60 540
Tobias Elze, 8051754 80
![Page 82: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/82.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.5.5 Geschwindigkeiten IP
Es ließen sich in annehmbarer Zeit (unter 10 min) nur sehr
kleine Beispiele ausfuhren – ein Vergleich mit den beiden Opti-
mierungsprogrammen ist daher kaum machbar.
Tobias Elze, 8051754 81
![Page 83: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/83.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.6 Matlab R12
4.6.1 Beschreibung
✏ kommerzielles Paket fur technische Berechnungen (sehr teu-
er)
✏ installiert im Pool fur Computergraphik (1. Etage)
✏ im Praxis in Großbetrieben weit verbreitet
Tobias Elze, 8051754 82
![Page 84: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/84.jpg)
✏ besteht aus Grundpaket + Toolboxes
✏ eine Toolbox: Optimization, darin Funktion linprog, die die
Eingabe in Matrix-Form unterstutzt
✏ keine Integer-Programmierung (es existieren aber Zusatzpa-
kete dafur)
![Page 85: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/85.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.6.2 Quelltext fur Beispiel
d = [ 50, 325, 475, 200 ];
f = [ 1600, 2000 ];
r = [0.7, 0.8, 1.3, 2.2;
1.3, 1.1, 0.8, 0.8];
c = [400, 1000];
n = length(f); % # of facilities
k = length(d); % # of zones
fob = []; % object function
Aeq = [];
for i = 1:n
fob = [ fob r(i, :).*d ];
Aeq = [ Aeq diag(diag(ones(k))) ];
Tobias Elze, 8051754 84
![Page 86: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/86.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
end
fob = [fob f];
Aeq = [ Aeq zeros(k, n) ];
beq = ones(k,1);
A = [];
for i=1:n
A = [ A; zeros(1, (i-1)*k) -d zeros(1,
(n-i)*k) zeros(1, i-1) c(1) zeros(1, n - i) ];
end
for i=1:n
A = [ A; zeros(1, (i-1)*k) d zeros(1,
(n-i)*k) zeros(1, i-1) -c(2) zeros(1, n - i) ];
end
b = zeros(2*n, 1);
lb = zeros(n*(k+1), 1);
[x,fval,exitflag,output,lambda] = linprog(fob, A, b, Aeq, beq, lb)
Tobias Elze, 8051754 85
![Page 87: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/87.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.6.3 Bewertung des Quelltextes
✏ geeignet fur die Programmierung von Funktionen
✏ aber: bei Vorgabe des Problems in Form von Gleichungen /
Ungleichungen unintuitiv und umstandlich
Tobias Elze, 8051754 86
![Page 88: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/88.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.6.4 Geschwindigkeiten (in Sek.)
size time5x10 010x20 050x100 3
(Hohere Werte uberstiegen meinen Arbeitsspeicher und dauerten
schlagartig weitaus langer)
Tobias Elze, 8051754 87
![Page 89: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/89.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.7 R 1.6.0
4.7.1 Beschreibung
✏ Open Source (GPL) Numerik-Paket mit Schwerpunkt Sta-
tistik
✏ Quelle: http://www.r-project.org
✏ Optimierung nur Nebenprodukt, Funktion simplex()
Tobias Elze, 8051754 88
![Page 90: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/90.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.7.2 Quelltext fur Beispiel
require(boot);
d <- c( 50, 325, 475, 200 );
f <- c( 1600, 2000 );
r <- matrix(c(0.7, 0.8, 1.3, 2.2, 1.3, 1.1, 0.8, 0.8), 2, 4, TRUE);
c <- c(400, 1000);
n = length(f); # of facilities
k = length(d); # of zones
fob <- c(t(r)*d, f)
A3 <- matrix(c(rep(diag(k), n), t(0*r)), k)
b3 <- rep(1, k)
A2 <- NULL
Tobias Elze, 8051754 89
![Page 91: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/91.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
A1 <- NULL
for (i in 1:n)
{
A2 <- c(A2, rep(0, (i-1)*k), d, rep(0, (n-i)*k+i-1),
-c[1], rep(0, n-i))
A1 <- c(A1, rep(0, (i-1)*k), d, rep(0, (n-i)*k+i-1),
-c[2], rep(0, n-i))
}
A2 <- matrix(A2, n, byrow = TRUE)
b2 <- rep(0, n)
A1 <- matrix(A1, n, byrow = TRUE)
b1 <- rep(0, n)
x <- simplex(fob, A1, b1, A2, b2, A3, b3)
print(x)
Tobias Elze, 8051754 90
![Page 92: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/92.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.7.3 Bewertung des Quelltextes
Siehe Matlab.
Tobias Elze, 8051754 91
![Page 93: Vergleich von Software zur Optimierung - Tobias Elze · ☞Wird die Eingabe des Problems als System von Gleichun- gen / Ungleichungen unterst¨utzt (f¨ur kleine Probleme leicht zu](https://reader034.vdokument.com/reader034/viewer/2022050715/5d54b52188c993b8098bc977/html5/thumbnails/93.jpg)
Fachseminar Optimierung Prof. Luckhaus, Dr. Kripfganz
4.7.4 Geschwindigkeiten (in Sek.)
size time5x10 010x20 120x40 1030x60 56
Tobias Elze, 8051754 92