Beispielszenario: Kostenoptimierung
Optimierung der Kosten für die Nahrungsmittelzusammensetzung
Seien \(x_1\) und \(x_2\) die Menge an Nahrungsmitteln 1 und 2, die wir kaufen. Die Kosten für Nahrungsmittel 1 und 2 betragen 1 und 2 Euro pro Einheit. Die täglichen Ernährungsbedürfnisse sind 10 Einheiten Protein und 20 Einheiten Fett. Nahrungsmittel 1 enthält 2 Einheiten Protein und 3 Einheiten Fett pro Einheit. Nahrungsmittel 2 enthält 1 Einheit Protein und 4 Einheiten Fett pro Einheit.
Zielfunktion (objective function oder einfach nur objective )
\begin{equation*}
\text{minimiere }x_1 \cdot 1\text{€} + x_2 \cdot 2\text{€}
\end{equation*}
(unter den) Nebenbedingungen (constraints /subject to (s.t.) )
\begin{equation*}
\begin{array}{rcll}
2 \cdot x_1 + 1 \cdot x_2 & \geq & 10 & \text{Nebenbedingung bzgl. Protein}\\
3 \cdot x_1 + 4 \cdot x_2 & \geq & 20 & \text{Nebenbedingung bzgl. Fett}\\
x_1, x_2 & \geq & 0 &\\
\end{array}
\end{equation*}
Lineare Programmierung
Das Ziel ist die Optimierung (Maximierung/Minimierung) einer linearen Funktion \(f\) :
\begin{equation*}
f(x_1,\ldots,x_n) = a_1 \cdot x_1 + a_2 \cdot x_2 + \ldots + a_n \cdot x_n = \sum_{i=1}^{n} a_i \cdot x_i
\end{equation*}
Unter einer Menge von linearen Nebenbedingungen. Sei \(b \in \mathbb{R}\) , dann ist ...
eine lineare Ungleichung der Form: \(f(x_1,\ldots,x_n) \leq b\)
eine lineare Gleichung der Form: \(f(x_1,\ldots,x_n) = b\)
lineare Ungleichungen und Gleichungen beschreiben die linearen Nebenbedingungen .
Übung
Formulierung eines linearen Programms
In einem Betrieb mit mehrschichtiger Arbeitszeit besteht folgender Mindestbedarf an Personal:
von 0 bis 4 Uhr: 3 Personen
von 4 bis 8 Uhr: 8 Personen
von 8 bis 12 Uhr: 10 Personen
von 12 bis 16 Uhr: 8 Personen
von 16 bis 20 Uhr: 14 Personen
von 20 bis 24 Uhr: 5 Personen
Der Arbeitsbeginn ist jeweils um 0, 4, 8, 12, 16 bzw. 20 Uhr. Die Arbeitszeit beträgt stets 8 Stunden hintereinander. Formulieren Sie ein lineares Program, um einen Einsatzplan mit minimalem Gesamtpersonalbedarf aufzustellen.
MTAwMDAw:dGJ35A6ni1sw/QYxnY1RUVXnw4ch6/Z02pyovSUmKOI=:mgL1ukuhUK1Lsv7e:sAB2GTMyKIucU8Sxb+2EZpU6pBUPvIFHSyVqg7tj/EwPLQ86NcifS7xSe2hukmCOvPYQ7QL5Yz4H+a7B2uD5EoSkY6o4lzc+mjqeYUg/bwdlsFvv7QR8jURA8/7tPT0Aot3s4m7LjzypCg3zKU/6zbiXLIpLM1Gd3rNzPknJdYUNI92mwgjAeWd4xUAYLQjCYUBFcGsLs1VCNnfruqrABHwmc02gpLlTikYd2yXfwSuRelkpwAXqcAyJMGs/U1utfQiDx9gqYk1K/l52lPZtkMbBsFQOAfyWCRm+6hwDtbjP2wvAUHo7Pdm3vcAl0oFe/lxP5C0QA/0+9avlErffiXHJiMCmXj/YxvWV2zQEvNp0v28OrtPS93oO0XxmLYxLcpcYd+4iiuzFcmQX0qoAnzcIOpIS0CtBwQW+tac7tHvyqASJBxh84qsdt3iDiGCtTIaTLcfvXFQ3Al7wCWVztrs4T1OxDlDqK8ZqDI0+DTmv3mQjjUgdw6SnXkxCoG+RM3X9z7hDG2e+0vMUo0OdcBqX72U8VhjlK8EZ+o4/wuUmFcIkA7o7XbkYrMCeboI4hQioq9ij0jdG9RbIib5QHwmUqrj5f6ymfknaIzACrKwXM7HpN6NTZTdehnzVmp8SvOaW48ErqjqzlkfaJ/mmlYCtTu2V3H6mgLhbBjSY0bb+GhqoY7MwleLgFxgL7ZmXlGw9+pXESyZ4tvnQQtsJdA6agfXDL/co8k8PCSnR9AjmL3Zw/nRLjHo3YjbcJfIJauzmKPH3MSR/UvWpnIyJg2BgQIdxEr3XkUGBv4OaTf3QMg2m/6VhbBYa8Y4hNInLzI8i3FZmdCNUr403JU9E22kvl/GF1JSsm/IEMPVzpLVbt/+4+n0Np0OCdhSIPMmK1s3g6zf9heQ6hfYaQuGysr7sL/8gNofwolPSRxk0M+U4xIYINnSXuJRtx63IBsAfaw3DA3cmGl7cfZe3geuPjScRjn2LbefmF7rTxToMtZZuBzJZWUse97UzyBteX3pIrehlCsXyDRWuOE0l5Xbc2Txm1E1pjB38xgrOa7OAoXikGv5yYfwq31dv6Q7BwjtKLKtMQEBj6qt5QjruJSLytnzxwLcfbOlpU68MLJK+zAx9PUBJmwpMezLOnSpxDO7j55hlwEH1KRsgcOx0oN81pplNIHNl7b8su8Ll0ZEeNlUUqc2JfAqgDlHnJRpSzg6MY5i0eMhvyNiFQXPDJhw4YxEo+IT19JZO/lG7KT1occBsaSRScdOAjLBP+PyrrvO2XiKlpg/OrPxOY/RLcYuQ2bWLQiDhIGnhrsEaadDxE6FoPi1hz4GnenXSiDwbEfamecZqitcqj6SYEvYOEHRQJYuzZdysNZ9pjd1GKZAyS9ya94royvkxdxiGnGsrp+T7R0b8/XYqfO5rojaWWxyTWAdeDDNs/QJyyf+sxgQlF+k4f0idX6BLE1JIn2ikdUpTr3F+tqJyTw5CdJg0+oXzRgLr46OmHLRiGWTEfuyABUrqdY1q3HG6EYlouCEYrmyDBqmO9KEzewapaYCThvmLmPxlQ6VOuPLZF3kX4HdHqkM=
Übung
Berechnung des maximalen Fluss (Maximum-Flow-Problem)
Formulieren Sie ein lineares Programm zur Bestimmung des maximalen Flusses von einer Quelle \(s\) zu einer Senke \(t\) in einem Netzwerk mit \(V\) Knoten. (Die Funktion) \(f_{uv}\) sei der Fluss zwischen zwei Knoten \(u\) und \(v\) . Nebenbedingungen:
Kapazitätsbeschränkung:
Der Fluss \(f_{uv}\) auf einer Kante darf die Kapazität (\(c(u,v)\) ) der Kante nicht überschreiten.
Flusserhaltung:
Für jeden Knoten (außer Quelle und Senke) gilt, dass der zufließende Fluss gleich dem abfließenden Fluss ist.
Richtungsabhängigkeit:
Der Fluss ist gerichtet (von einem Knoten zum anderen).
Sie können die vereinfachende Annahme machen, dass die Summe der Zuflüsse zur Quelle \(0\) ist (\(\sum_{v\in V} f_{vs} = 0\) ); dass die Quelle keine eingehenden Kanten hat. Weiterhin sei die Kapazität zwischen zwei nicht-verbundenen Knoten \(0\) .
MTAwMDAw:VqMJQgA20TRBRLb97o3FFfyI6mmfi8w/IypB/MWijsM=:un7s62UG2+E0FUGz:u1c+GTPPrO2GDuBfYaosxkB0LYK1jB6gOben3SG7CKseS6S0cBwmuvg4fXo0Ytte+6Vq5pcOYSXXVbQVUGBUFYMetnr1MIja0z2pKiwWvJYmWiI9oDzzOymHlVIUXtct2Mx3nAe+mlcsepMtngFhWHdKklstYuVYSFXeJELQwFYmebkT1g5s0sdKw9xX5aNy8HdXWNLBPTybEsfLl29u3tElLJ+KXynFcB+9yD4222KbCAXKJB7S8pdCfDaIISGx1bnZU6vnBGMYVvo72IQJVR/zDfXvFarnaDXiD0ul51QXLb1VSS6Nkk+kJmxbL+37CLlkLQG+yqsq9R3n14jq4MUEtnFc6ciLIZRi+nRcIcBHIRi+r72Onr3qomLDTdfVYh7473LleEi06yQHdSmKWFW8Y6Kgq0Wf3399Lv4Il743jKG/a8rMBNEW6pKUmsWCFhduXyAq9HxDI6GK+8XhLtJkZieFwJlgUDFYDqprIhLgrNtbkRxO3EMF/NO+/MuGFFzUx/uz1w7OH6FXgi+aDqHARTxGxNUBH9rFkGU0gxJ1QPHtUk6lyeyep54LVKPnBQ3Fs5vbY87c873Z9HnE0QWL7u/Y9QoJcMF+x2KVhnucctDyA/u0hpDXQUE6Vkoc7CWNkXHnLILY5veULpAxiQ==
Beispiel
Netzwerk mit Kapazitäten:
Eine (nicht notwendigerweise optimale) Lösung, die die Nebenbedingungen erfüllt:
Im Allgemeinen gilt
Das Netzwerk ist modelliert als gerichteter Graph \(G = (V,E\) ) ohne Eigenschleifen und ohne antiparallele Kanten (d. h. \((v,u) \in E \Rightarrow (u,v) \notin E\) ). Jeder Kante \((u,v) \in E\) ist eine nicht-negative Kapazität \(c(u,v) \geq 0\) zugeordnet.
Sei \((u,v) \notin E\) , dann ist \(c(u,v) = 0\) .
Empfohlene Vorgehensweise
Bestimmen Sie die Zielfunktion in Hinblick auf den Fluss bzw. der Variablen, die den Fluss repräsentieren.
Formulieren Sie die Nebenbedingungen:
in Hinblick darauf, dass der Fluss über eine Kante nie negativ sein darf
in Bezug auf die Kanten und die Kapazitäten
in Bezug auf die Kapazitätserhaltung
Übung
Überführen Sie das lineare Programm in Standardform.
\begin{equation*}
\begin{array}{rrcrcl}
\text{minimiere} & -2x_1 & +& 3x_2 & \\
\text{unter den Nebenbedingungen} & x_1 & + & x_2 & = & 7 \\
& x_1 &-& 2x_2 & \leq & 4 \\
& x_1 & & & \geq & 0
\end{array}
\end{equation*}
MTAwMDAw:1mTZ47FyFH2mqAYdYns13ALyfuCF8cAfc3R2vQtM+g4=:9sdKeNP/v03S2GkE:5jHYiYdpAHG+TIcww1V3KiIvWoYDaNy3CFZgPWNRVSjIkXdJ7jnLrEEXkYXcOY8ay7HO7EK32hy+DKmHxdkRE9CpVa1ZLo559orMM4CIGlp+d7kKeDGMqE5Oy9h4Bw8RPilQykD5zh+d2RFEDSILkUYNU3fFUqxrq4+uyqecrMG7mrgb4nZT8kprMFsZaSy1GcogVyfKVRO4nyeulift9qunAMMSQqRRQ4xfHYwU4BXHj6D+gq1ZQWaRG2ozruGE57WedXroLpNjnQiWyIvnifAd+7kOj+vkCRI0xADWq9FwRRj79NHnLiIe3cnCKIcqv+hj6Uhmg9jtLAw1iBZQBfsvOH/YvlpsGgPSuxKKhr5ltz+FSMy5Q3vtKmQJMLJO7K1w01Wpq1PsMi6s8G9gGvCItVcW7Mpa6J0fBcU5q6YL10ElI7Q353A0zeE75VmXVGhPjjBA0thfgwhsD7yg9FILKuIAs82qm2DATr4H+L3bNTFBOZ3JQ6q3GLgSysBEUy2LLjwAWWM14CrWG+Hnn7aDccUGNtkD7HYIY9ZgqUGkx5w/3RA1/JVJ4I7S5rhe3of3vFks5rBiKaBEt68i+2Bc8BcGhxrbQPIkM0FlenbKuhpnaP3yUXOWftX6DcIN4QPgvMvXduwnYY/6uPfNZvcLv57bwA8or66e/9MRaATmUIMR0pljH69RU7FJj/ZHkl6ZO4zST4zeJOVuhHHubnbz+cBGBSMMdbnWTRtHQ63q6YCzFmfkqVcW34D6B6IcUOhnXjX+BqhNiouLVnId4cZCYCjnoA+HsA0dah0UlR5VW0YUQdt5+1hPu3MqUKDCvtVo6L3j5sZVQEQiBpArsE1/88Dopt15a95NQS0XVEP0S0uS0IQ2OFNbpkoaVKz+bZdZF1X7S2fHQDk9mSWupGDUdwQRTHTsQpRGb8amrATpY6nTaIiCc3FL4XzVPVa6sHIXnlcy65o5vgrF90bkvOoCxZ3fPOQv6e0eaeKQiyABm8gyN/03R1g84a0lPoOSKqE5eqDQatNG6yc6HdGpQjNSWQfWkcn4BHKPdAWWUwSv4XNUBAB+iO9tmBtwOeXkwvde+LJDg+AwU8w0goO6a0P9RIUAiwnmBdlrp00c6V+GIlmJCWMqqCrdFxaGBmuJbz8FsS+nKw==
Zeigen Sie, dass das folgende lineare Programm unzulässig ist.
\begin{equation*}
\begin{array}{rrcrcr}
\text{maximiere} & 3x_1 & - & 2x_2 & \\
\text{unter den Nebenbedingungen} & x_1 & + & x_2 & \leq & 2 \\
& -2x_1 & - & 2x_2 & \leq & -10 \\
& & & x_1 & \geq & 0 \\
& & & x_2 & \geq & 0
\end{array}
\end{equation*}
MTAwMDAw:5s4o6UBb6FZQH6mWx3KunUsXXoJWo7FkdxXApw52rcg=:R3H7uPPzSJEHou1S:mgKBo9prtZmhhvc3gn7TA9NiHtKST0x2HInNO5FKlhySh+sYi/ypOzmi49k4OPlT6U1ejhnAOeZJQDZL7FXNuO7PsReV8Bhu0dWInVteJV6TbRXsb9JcIDfh20sV4xWKmpMxp/kY21qcudp3SmOJIkETgMJ9LamzLH4GeKrpoN340zmKPzcrlun1mW3R8mL24FVvi/stgVF++42KVxTSWI0hkH6TN5+fKuMMYvN9zkXkMwbJaw8xelJW/mLGeokK1OAwCHZzVm4R0BIZO/1F9Btks0NoQ1lroUZ/dd6FVDguIfqd1hQOKiJUs5kBTsz6imiP3Q9YP/0sx0SB81N7kLrhHmiZRgJYtLNBui9lc/hCwZ0AXNYqts7Zm6Zx2bABAixrX9xzeiVJe7gMPjeJRIKZiwzEGbzJED3+490FBVDxosZwqBZRZk/bQEIunGdUTNm5VHOCCbAaWJ4iSH8Fo6NeYmPEqN/+/qb6fn9sf9JvGSsDyS1+a5Pj49Susb0LayIxUSEzPe5nSzWNXBYBaQ5C5f8mC3WPXSpr+vozRPJ9WGXZktHHvy8EFcZaskQhkqrZE7cKK+y/XLBUeSuqeAY0E3ktV7Z/u+E0zRj3DmGa7Ss=
Übung
Überführen eines linearen Programms in Schlupfform
Überführen Sie das 1. lineare Programm aus der vorhergehenden Übung in Schlupfform.
Bauen Sie ggf. auf den Ergebnissen der vorhergehenden Aufgabe auf.
MTAwMDAw:oop3LpF2Q+5FzphzgZBObCWUzzuBpWtWQ7BlI3V9bXg=:tlrV/9UMEYNGdQe4:a2jiTgHLA4+6UGtfnrIjHWMr+LTWn6qC7B0gCrZJEd53TdIUFdLyFnpelywGqWAWl31LOa+XAGiOm9edxZOrNcr1uxM9THYwlNxPTkWwXbc2HT14aEkbTeme/6rZd++Wg7N99JaDSbTOEy22T9MHpy9JbX7ZtrjdLdV9QNjYirVrJNWtvpkLnbS8K5YuqtWgQbgesHHmJt+RZ4z4rB+74/F1QwCtWk62aP8/3ocn5lskdvvQp7D7+tbsAcuXWGka3v1bgwpdLaawV/7RqusJWBptLEAUI8now1gnlyk9FlBBD3eojbYPjPe1GPuJbweB88lw3IRwqmYIFsgzQZ077tzo+Es90XE/j3arNsPP5R5GSomL8EVAar8qUzr1feZT0JxmRvC+azttOGiAQdTDJKArVRMyZYoUdBrw3oIZOVxVVq7l98kLaVw4X18wgBRlK58FL5TmhGeA4nXOp+L3EhdhWVocqX5Mn7WDqoZyMJ9V686OOs1unGrq4BoHZz8Nqq3CWjCaPVPti+Iyk5KN0rARmf8aeuHQvM8lSLyae40S5Q2hkDYSAYNHe21dYiXkineRwNE/Q26u4bbIhitrAJpdPXgkBVBZJ+lXQv1ycgFL9G+tKma2RKBlfjQ3KnwVqgiVfw46ghfXOyddxUrulSRB3HbdK5kkxR6HRgFRqoJtgnu9Kadf1AXrS0ioI4ZE2Tr6AyPQXGIxrkJ66u9WWw6f+X9WNaSvU7rvSurtAu99/HswzGGmMCGcta+aT0slEQIhhKoS/6RCBxXVqc8u924D93iEFaCoRL2HU1cX6X2e5x/ewkcNQRM9oahRslLP+xBohD7VlzVh1IKv/oZsj+AqsDD0MZj4owdDlbYTubWVpGk9+CkERpJR0rMUjZTVe/vWUf2JffOGwZeTGg9EO7hTaqZlkWQl7ON7kOUbfaI41eRTqCA4cAa9pSx7
Zeigen Sie (grafisch), das das folgende lineare Programm unbeschränkt ist.
\begin{equation*}
\begin{array}{rrcrcl}
\text{maximiere} & x_1 & - & x_2 & \\
\text{unter den Nebenbedingungen} & -2x_1 & + & x_2 & \leq & -1 \\
& -x_1 & - & 2x_2 & \leq & -2 \\
& x_1, & x_2 & & \geq & 0
\end{array}
\end{equation*}
MTAwMDAw:xBYC1A5m72vQ83QRH8Ujkuo2jlHYgkOZUhCu2+Dq1fk=:GJ09YExuTmJZ06yw:G53OXNnRryKrR8qTa8zIt1b4hyzerGG9lvWLZVHo0XzGRnCygDC3S4TFZG48JwUpOT2rx14vhXkIfWIRmWs9Yc0BgbeDyc1VVqN5oFZ98gjBznXqVCTu4EgOvpa0Ffdr05PKm9T8veN5WO0rYaVRJgFupY3GyVRmbEYulcXBQliUU6gDRLkCmjdma5QfGkocRESaQ+Eq/lAkgtt3PeOD1LCwPQ==
Simplex anwenden
Beobachtungen:
Beim Start: jede Belegung der Variablen \(x_1,...,x_3\) definiert Werte für die Variablen \(x_4,...,x_6\) und ist somit eine Lösung.
eine Lösung ist (jedoch nur) dann zulässig wenn alle Variablen nicht-negativ sind.
Die Basislösung ist die Lösung, bei der die nicht-Basisvariablen (im ersten Schritt also \(x_1, x_2\) und \(x_3\) ) den Wert \(0\) haben. Im ersten Schritt ergibt sich somit die Basislösung (\(\bar{x_1},...,\bar{x_6}\) ) \((0,0,0,30,24,36)\) ; der Wert der Zielfunktion ist \(0\) .
Simplex Algorithmus
1 Algorithm Simplex ( A , b , c ) :
2 ( N , B , A , b , c , v ) := InitialisiereSimplex ( A , b , c )
3 sei Δ ein Vektor der L ä nge m
4 while ∃ j ∈ N mit c_j > 0 do
5 w ä hle Index e ∈ N mit c_e > 0
6 for Index i ∈ B
7 Δ _i := b_i / A_ie falls A_ie > 0 , sonst ∞
8 w ä hle l ∈ B mit Δ _l := min ( Δ _1 ,..., Δ _m )
9 if Δ _l = ∞ then return " unbeschr ä nkt "
10 ( N , B , A , b , c , v ) := Pivot ( N , B , A , b , c , v , l , e )
11 for i := 1 to n
12 if i ∈ B then
13 x_i := b_i
14 else
15 x_i := 0
16 return ( x_1 ,..., x_n )
InitialisiereSimplex(A,b,c)
Falls das LP lösbar ist, dann gib das LP in Schlupfform zurück, in der die initiale Basislösung zulässig ist.
Wir werden uns im Rahmen dieses Kurses nicht weiter mit der Implementierung des Simplex-Algorithmus beschäftigen. Es ist jedoch wichtig, dass Sie die Funktionsweise des Algorithmus verstehen.
Übung
Anwenden des Simplex-Algorithmus
Berechnen Sie die optimale Lösung für das folgende lineare Programm:
\begin{equation*}
\begin{array}{rrcrcl}
\text{maximiere} & 40x_1 & + & 30x_2 & \\
\text{unter den Nebenbedingungen} & x_1 & + & x_2 & \leq & 8 \\
& 2x_1 & + & x_2 & \leq & 12 \\
& 2x_1 & + & 3x_2 & \leq & 18 \\
& x_1, & x_2 & & \geq & 0
\end{array}
\end{equation*}
MTAwMDAw:7gwmy+hjwpkFjAw/dB25SuecZThW6T4qQeyr1k8xrJA=:EOskDyyqFd3ffbKK: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
Lösung des Rätsels: SEND+MORE=MONEY
Initiale Idee:
Jeder Buchstabe wird durch eine Variable repräsentiert, die auf den Wertebereich 0 bis 9 beschränkt ist.
Die Gleichung (zum Optimieren) wird dann wie folgt dargestellt:
\begin{equation*}
\begin{array}{rrrrr}
& 1000 \cdot S + & 100 \cdot E + & 10 \cdot N + & D &+ \\
& 1000 \cdot M + & 100 \cdot O + & 10 \cdot R + & E & = \\
10000 \cdot M + & 1000 \cdot O + & 100 \cdot N + & 10 \cdot E + & Y &
\end{array}
\end{equation*}
Ergebnis:
Alle Variablen bekommen den Wert „0“ zugewiesen.
Herausforderung:
Wir müssen die Nebenbedingungen formulieren, die sicherstellen, dass die Variablen die Werte 0 bis 9 annehmen und dass keine Ziffer doppelt vorkommt.
Problem:
Es ist nicht direkt möglich eine mathematische Formulierung zu finden, die die Nebenbedingungen beschreibt.
Lösungsansatz (häufiger Ansatz bei „Set-Partitioning-Problems “):
Jeder Variablen ([S, E, N, D, M, O, R, Y]) werden jeweils 10 binäre Variablen zugewiesen, die den Wert 0 oder 1 annehmen, wenn die Variable den entsprechenden Wert hat.
Nebenbedingungen
\begin{equation*}
\begin{array}{cccccccl}
S_0 & + & S_1 & + & \ldots & + & S_9 & = & 1 \\
+ & & + & & \ldots & & + & & \\
E_0 & + & E_1 & + & \ldots & + & E_9 & = & 1 \\
\vdots & & \vdots & & \vdots & & \vdots & & \\
+ & & + & & \ldots & & + & & \\
Y_0 & + & Y_1 & + & \ldots & + & Y_9 & = & 1 \\
\shortparallel & & \shortparallel & & & & \shortparallel & \\
1 & & 1 & & \ldots & & 1 & \\
\end{array}
\end{equation*}
„Optimierungsziel“
\begin{equation*}
\begin{array}{r}
\displaystyle\sum_{i=0}^{9} i \cdot S_i \times 1000 + \sum_{i=0}^{9} i \cdot E_i \times 100 + \sum_{i=0}^{9} i \cdot N_i \times 10 + \sum_{i=0}^{9} i \cdot D_i \times 1 & + \\
\displaystyle\sum_{i=0}^{9} i \cdot M_i \times 1000 + \sum_{i=0}^{9} i \cdot O_i \times 100 + \sum_{i=0}^{9} i \cdot R_i \times 10 + \sum_{i=0}^{9} i \cdot E_i \times 1 & = \\
\displaystyle\sum_{i=0}^{9} i \cdot M_i \times 10000 + \sum_{i=0}^{9} i \cdot O_i \times 1000 + \sum_{i=0}^{9} i \cdot N_i \times 100 + \sum_{i=0}^{9} i \cdot E_i \times 10 + \sum_{i=0}^{9} i \cdot Y_i \times 1 &
\end{array}
\end{equation*}
Umsetzung in Python mit Hilfe von PuLP <https://coin-or.github.io/pulp/>
Imports
1 from pulp import (
2 LpProblem , LpVariable , LpBinary ,
3 lpSum
4 )
Variablen
1 VALS = range ( 10 )
2 LETTERS = [ "S" , "E" , "N" , "D" , "M" , "O" , "R" , "Y" ]
3
4 prob = LpProblem ( "SendMoreMoney" )
5
6 choices = LpVariable . dicts ( "Choice" , ( LETTERS , VALS ), cat = LpBinary )
Nebenbedingungen
1
2 for l in LETTERS :
3 varsOfLetter = [ choices [ l ][ i ] for i in VALS ]
4 prob += lpSum ( varsOfLetter ) == 1
5
6
7 for i in VALS :
8 varsOfValue = [ choices [ l ][ i ] for l in LETTERS ]
9 prob += lpSum ( varsOfValue ) <= 1
„hauptsächliche Nebenbedingung“
1 prob += (
2 lpSum ([ i * choices [ "S" ][ i ] for i in range ( 10 )]) * 1000
3 + lpSum ([ i * choices [ "E" ][ i ] for i in range ( 10 )]) * 100
4 + lpSum ([ i * choices [ "N" ][ i ] for i in range ( 10 )]) * 10
5 + lpSum ([ i * choices [ "D" ][ i ] for i in range ( 10 )])
6 + lpSum ([ i * choices [ "M" ][ i ] for i in range ( 10 )]) * 1000
7 + lpSum ([ i * choices [ "O" ][ i ] for i in range ( 10 )]) * 100
8 + lpSum ([ i * choices [ "R" ][ i ] for i in range ( 10 )]) * 10
9 + lpSum ([ i * choices [ "E" ][ i ] for i in range ( 10 )])
10 == lpSum ([ i * choices [ "M" ][ i ] for i in range ( 10 )]) * 10000
11 + lpSum ([ i * choices [ "O" ][ i ] for i in range ( 10 )]) * 1000
12 + lpSum ([ i * choices [ "N" ][ i ] for i in range ( 10 )]) * 100
13 + lpSum ([ i * choices [ "E" ][ i ] for i in range ( 10 )]) * 10
14 + lpSum ([ i * choices [ "Y" ][ i ] for i in range ( 10 )]))
Lösung berechnen lassen
1 prob . solve ()
2 values = [
3 c + "=" + str ( i )
4 for c in choices
5 for i in range ( 10 )
6 if choices [ c ][ i ] . value () == 1
7 ]
8 print ( "; " . join ( values ))
Ausgabe
S=8; E=3; N=2; D=4; M=0; O=9; R=1; Y=7
Eine Formulierung wie \(28 \leq S + E + N + D + M + O + R + Y \leq 44\) , um sicherzustellen, dass (zumindest einige) Variablen nicht \(0\) sind stellt leider nicht die gewünschte Nebenbedingung sicher, dass jeder Wert nur einmal vergeben wird (\(0 + 1+ 2 + 3 + 4 + 5 + 6 + 7 = 28\) und \(0 + 1+ 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45\) ).
Eine Lösung mit obiger Nebenbedingung wäre zum Beispiel:
S=0 E=8 N=9 D=0
M=0 O=0 R=9 E=8
M=0 O=0 N=9 E=8 Y=8
PuLP (Details)
Die Datenstruktur choices
ist ein Dictionary mit folgenden Aufbau:
choices =
{ 'S' : { 0 : Choice_S_0 , 1 : Choice_S_1 , ... , 9 : Choice_S_9 },
...
'Y' : { 0 : Choice_Y_0 , 1 : Choice_Y_1 , ... , 9 : Choice_Y_9 }}
Übung
Maximaler Fluss
Berechnen Sie für folgenden Graphen den maximalen Fluss mit Hilfe von Pulp. Der Graph ist in der Vorlage definiert und kann als Grundlage für das Lösen des Problems verwendet werden. Orientieren Sie sich an dem Programm, dass sie im Vorfeld für das Maximum-Flow-Problem erstellt haben.
MTAwMDAw:HWZHDsWUpdOUdjNknkojG8wsAeTSf9/PZNRRon5OXJ0=:uAYAE94jvU0uybGL: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
Vorlage
from pulp import (
LpProblem ,
LpVariable ,
LpMaximize ,
LpStatus ,
value ,
lpSum ,
)
CAPACITIES = {
"S" : { "V1" : 16 , "V2" : 13 },
"V1" : { "V3" : 12 },
"V2" : { "V1" : 4 , "V4" : 14 },
"V3" : { "V2" : 9 , "T" : 20 },
"V4" : { "V3" : 7 , "T" : 4 },
"T" : {},
}
prob = LpProblem ( "Maximum Flow" , LpMaximize )
Übung
Gruppenzuteilung
Finden Sie eine sehr gute Aufteilung von Personen (Studierenden) auf eine feste Anzahl an Gruppen, basierend auf den Präferenzen der Personen. Nutzen Sie dazu Mixed-Integer-Programmierung. Im Template ist eine initiale Aufgabenstellung hinterlegt, die es zu lösen gilt: Verteilung von 16 Studierenden auf 4 Gruppen inkl. Bewertungsmatrix (jeder Studierende hat jeden anderen mit Werten von 1 bis 10 bewertet) . Ggf. ist die Funktion pulp.allcombinations beim Modellieren hilfreich.
MTAwMDAw:VlQRZdLCLvb5hwr2XWZJo42GElL5ffIcgin1mIrhdbY=:SWJuEqpYeOkupQEG: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
Alle Gruppen gleich glücklich machen
Fragen Sie sich was Sie tun müssten, wenn Sie zusätzlich sicherstellen wollen, dass alle Gruppen in etwa die gleiche Glücklichkeit haben sollen. (Hier geht es nur um ein Gedankenexperiment.)
MTAwMDAw:qWKUw+Co6KF01hw19O1tplq3xs3yB1Qy6rqLJNLv2/g=:k1/VcfbZQwj0fkqP:OxnAOb1d4Qg4t41ewoJqC380h0HKOgFPANRiNt5MTB/fm1hAdWmR8y0KTwuK/VyWnrPC2pbGRM6kbSiqcNHPCju2qVrdIdSbU5eJgzI5iF2m9sbb0Qli/HtOJL1fmVGznJzTVOnpbMzWs4UY9ky0CuYqoZDv1L2R61T4A09RFRKIKmUVDHXvIl0QbLaOXr40MLjv93nmQY3SaC+TyPP1UJgHFAhzovK/MUJDlfj843Br/Ei/mk+6QIYuZ1MgSC7bHmh74/D0TmA6cTuPnpAlvkZ2PfoNwF2N2Br7jdtwUTr+mgMYAotM3N+asTYl+PWCTYMn7DBCEQuNApVFXh29DhlNL11h7+NIpHYuWZ0LjiC3La9HwxIgDOHjHpyAAoXJ+3RUC/876txmLjvu2daGxke9tJy67wccZWibdtg4rxsHw3NgkM1V6MjKaX8s+7FPZ+hR0DQV/N+IN26Qi65/k32e8mtQZEvBId9V2CAx7b7RqLCA4ptCgKLrXvikW5kjj/c=