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:Ud0DWWIfN1R6qdVTDTeqkQt7oPvAUzqOklI/cEB1wKY=:TbaZEkc/VfVZYetx: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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=