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:7fyVtyrn1Gox8bjFqix4yFXsfwMRwerR0rbz+GM3DG4=:GWmK9r3VfyC1P9AE:NbEBhuo7wwaFDvWI+njlXI9j4bxZZp3SrxEGUF7f13wqwf//5Kd8jSpwFw1b6szKgWAhVdyO1bAjkPq4nbzm+WCdOiMLAr0n+Rirq03ACCd1Ttrbsn/pUgEu7l0N0W0IqkVSqPVHSklav1+osj45Rya8fj636AZfr4ULuDYzVFQhWcv0ubdr8brSbl8ooZgUu774hAkTCpiQp+baAo23FqpaaTarVLtjBWcihzfHTgkp92Gp1XKsUM0trT3sxGmPt1qtOR2aGGehBBErghJV4x/VRGiNPIzCjmjege5/WdRsENrCzrqz6qw/axC8CoZ0mvx+Kfks9b4nd/QmY/4/oiYiZZbMqwlFxqWRgwa+KypB1SYQy6vRTeH8yCq0oBLx6MdIQ684ySRZgTwAtDa+MTww05FC7H6aoe5jXzIYYG4zSNWIGC1Ms25kI/PWOrNc6Wd4E5IcESajppn5ljmQOcwwhdNNso7gBmwppZgkriqWhXqCGbcMgk8Yfbj7LbnI5wPwoMi91QGHZFyjEEXB1ouErI7hBndV4NTEsKBsmN51ycpHbdP6SDrAn1uXu+/7JnVMUGH6BWbYlneplmoCXqzRSeMorVpctOXXsjqk5bDIiEw97FNA0HisYLb7UfUzIi0LwAVFuYGmDeNIhhZGX24YRFEWARAJxHY30MhhEJDn/TeWI2KYlLCC2u7x8Bb35l2MFeipF9fXUcFaoq28No/OOM7TlCY7mXPESbC/NZxAtE1NgSr9AJiuJ15bghsWZ9UZguCfyHSgAeR4IddNRIaKpCA5tSgsv+kxXHxLgOBY6XUMvXRUdRHL1f0JC+HcmiibA1B4UQRhveUmuzbWq6IUkjT7VlTtG8aIwbn25XkD9FoxveXV4y1x/2fdcn0d4AzPXScH77sIaZmHXNCGGlDACX4MbQRhrkAaJacsA2M6i6A0U1qYdwXidLJ3ZCnxBSKMxjT/8RQn/xWmiFUq4DDJHQ4jn3yEiz6kyddS3+wp4f5K5luhXvC9Z3kqZzeg67UWV/L5lLvgGQ8t0P4DDB7EuYd/NYGM0u+qTVNkbdZfrSY8BkW0ArAd6oyrfIkhMik1ZfxRQdfF1KKf0BuPJVWvkRSmA4QUdfL7s9OtNVUARLekEjzQsZJtcUVARl1rmbUVILYWRUMYVtK3z63MjLjn7pJL2FJdP/f6MJOfSwG3/m4tVwhOjCqzVHtmoFVjzQlmWdXLHSFXUFa8LIUltruatupcnWlv/CJ+uiu0fY59x1nfPsLK6BsxapJk9ji6qWwZ8aZwO/E5z8FyAks8B2EZXgMMzco5SQpLTOIThyWkd2Xu7faoLLInBrKUbbG/h26Qllj8vZBDfL/0fIcbfPJEcVQW/l2F9EwsdRhAFiZ5p3Vd6fpRhT5JfLHWLT1G
Ü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:m+mRkKQ2LRVcDD+OAxitseAc+4gl53gL//F9Lo7noaU=:ILj8zKgmeLvLTdAw:J1BLoYtOaqFcjvLbhPJQHuFj/93pUYCIAiwiLVRIDlDmBRH3liaV9YDg7YqRJ9Z6Ar0WZ4cf1g89peIm4s0I9aOZ6aOA1UdxZoCmQPe0GeaXF+8kxO7+QIX8bdw5CDWvTz9mXr91AB1uloZVfiXB7ZJzPnwbGfEojbgVCxD0Vd4va/3vcjY0/wBqv/xErGJ4WVhDewZqQiI4hYY48bkIoAn586Xk9yfFh4XqFSEoJ8ydU+ufM0qNLsHC1PIeALPCW1ktZ6uJHHUJKftb92jYgRVKwVF79wAicqMiz4edUVqXEoYHHMkBiIbJxWx8wsjcwCTva7i5euGzlQ3ufcBs86liE+ZkFenAaW6F7HYqQPd7+CnfW4epUBAj8FQDcW+JXEfg5C9YDamuHk1NMF1UjebB9jnkJqUHoyxD4Qil0UOydqIgEOjPwvpzB6v1gSWeZj/IGe3K2W8z4gY5cAPNQRoeReXHoBAuZMPNOt/hwyETd5Hm7sElIv+aUrKh/+iB3zeSUCC7ype80DJ/aMWw+EVmnYyEswXq+SWX8Pf3LVnmPhJwDBV4NTHj341w5a/2g7Y84WIV63BUv+qBAFIf0pJtauWWdWgoDeKdHkzuBxE=
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:a9Le2AlGFaQVjv85u9EYhakuDDqKiax1hei/LnZOyMk=:4N9OPpICCdU07tzD:WxPrwKxJme3Xq6gPVb2UO2US83HEGYF3RDaM3RK39oDHbTUhn3Zcdaum6cDY4jP6fEeMVBjBNKze2RcyFvuvfFnxYsu+ZWbpTFZeIxB9+2MzFMbqiZ9TUH4kl0A4Y6ImwcFovWrKbFCUH3l6K3pBfaQbByAegC1Ul+qvug6mTPOQ5cemC3QbUOZw80cAKk1u9mrMBW8T4712uM/mghXzKbA0NMpU46pi0h4Rg9+2xwjQxGMIrhBUhuUM5GpWQYUXTCgH/Nd1c4ObGtesSCDHAO3ASpnOEUKrz3ESI6ZKZe7hUFhvHbclcyvj2hcbGvRtVS9tQZbIRGNOmlhpOiC7ePYD54u7Ocu7BEFQbhMzxXdnxXUSczoyPxvIIovcPMGKb43MApZ7YiNFKwSf8Hsu8ZWFKCA6HYUN9QnZYLi9AD593Id1P/krrRdd+7pHfnggqFaEsdP1Fh0agf8Ai7VIPtk/evEWaJLdZXZgyI3UqBplQSUZS5Lub/KJTDvMaz4WG4SlwHfD2Ke3+4l+GOq/WYPQ6AL0yRDVIBxZDXq0zplpcDoz4EgLDG72k72I7qW60IcftCGGQxQhK7IwZWbkS5h9N/PKXj4RMrU63u1l43hM6WWQVInDYPB8hYoxhDiiE21lrPrmBKYqy5vXeD5jEVko7UcyY4g+pPUNhlJ5NZTyXYPI9eVKp7XYfmvErvRk9GnF8SmgJBi888UseDNfInhoKHOSMoUWWExKTgAVIsiO0MkFJgiXbvGh1/BHKBl4AYSFs4zLLa0c6tN3ROeCDqTRC03rg41Xjaemji9kdeOc+jdkZa8H+p/Md5VaONxsPlFzyHCSwcuIPWiYoVX9AoiN4uhV0ZrKyevtVVA2mPyqlGOYDw0HOXFilVqekLjaLo0a5ldDfrEoELqKiFuKRQlb51/IMZsITSityL5kpEtgePZX06t9TRg4P17KWVcM2PCtaQ4lJZMa1lBRiIpeX8HIgYttGvI=
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:EkkLUxPJSdmQDdpQPKcAen9iEao/b1H2KX1Y5JqKSuc=:3dbXNNtbH/RY3379:5W7CC2cmbY9kY6HYXUjRlLE09TpK/ouaQLNlQkzQkY4/li/LG939rpp9PRrv5fHILXrzeiomt7sh0VSGR0ROy8r5AJGHGX5JiktcGpcXYpRURNsyVvgjgO6E9ArP/kQRgFw9p52NQr1ANVvlx748DWPT3aWmm2YDIfBD9/0Q5hMGJqohVrL10TGuKDw83jSY2C10wDFZOZSYEwMm91/uNgEn8NW0h3V7BNfvST/Ae8n/de1LErfKCOb2eYWEl+zUjbQkj//N9lj34OrWayr9d4yztnwy1pimxsRd5RCIdJNZp26u2fKekDV0v8Zcpa6rdceg49+3Xbrdi+HX/vOOludmWDRpblH+ZE5A3YM82AyO8hxNn028EPmyoRqrWF+p+QbFxV2oayAp2jJJMZmdb48ob7j7bg97oT6mFBgecrLK7PWY6qbKjT3/jGntJQpiybnnoALL1Y5kbHrwtHXrljIsfqAhxvoGVeX7kTF9mlktek5WjP+GpCePSSHh+0+eGbBs6S+0iaTzIuqjT+hXbFThqvnZ6OJTRyR5/AgKuvmy8aUiwdO9+MiA/Z2Xw7KVYz6+
Ü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:9CsjapSO+4uyheJUjQBYCiJx3hL8wOd0kkHMpWu/rIg=:e8iKtrrvF0F+A5kr:rQxFK21Vv6XvjqFfJ4n/DNRd2lxcv6I08+hwzWGKXkYtCad/ZFCoWGGMugaQ96rJdjmmgtpqLr+7qV2fsojlNjg8K70FIo7V1AWZMfgo5F1K5K9WnZAclkpHw+CqxeXoksjzulS8MOh1dHJ4BjpwcGs/OpRtuctDBJSPuo40Xs8KriC/4fgwEZGNifn3XJZZt8zQXU1J1Iie9M6hwo98zGYs1LAxSn21an9kMz8GNiioVwcxJa/NBnGb0qWgOOUOWE/Tq3fQLZSQV+hahZJBVA+F5q7yTCzGo9qdi1VKAIEZWGZUYYEe7pn6xtz7C2gISIJTkCK1t2YWTmEvhcJEs8miZ1Cl/XO6qYC1h4xh3djPegOrGVQl4FB8Pr9/N6cWRA4yNVG9k7WG7MYgFWtco1WQ/JEA3o2wQoK3eqTwF5DMJpO5XVH2sAEUs+OqtUJqXB1cvdQDvhUK73WfzlrU/Ut4puFAVSts3s3y7eQ9Aarz6lyPHAN7wVUfuNpLvj6iouxkZNCy5jVNjXopQ1Ir26fRDvDUCo8YeVpPpoMbym4HjOz3KT7Oa6FTO86dkPXBDTh6zP0AHIAEz51zR03KGukDgU/tbr7Hh38mBbIfStr50jfXlBB2XqEDNMIysEBGbX6KcPm4d5IhaMmJfkNIXNExwkECXfMfHZNNLmLylj7Q3+Cgv4+z4kG+Ku5HE9+3bUeU1AHvcLIyLyu2Vp1jXTxdjih2Iw/YvHKfBfSWUzzhNmdkx4gIN38ilVeXfY6qqfIOrv6UicOmr0uKr8y6UVl/59Txw0tmOdSEv/nrB1chkjz2jHPhlw21suXbhS4+RdvJEE8GjL9i81mVW02EPv9G7VoAwswn6unICvT7kOfeQmYGKAkSX2G8QyAD4MqkZ2bvJP8+JWrs+JcS/w==
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:KX/l0Sq+lN1amkVGx8YbWoXdkbyUt2OKHqj+gGwtuFg=:gQnZEcW2+onahoyZ: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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=