{"id":723,"date":"2021-09-12T04:56:04","date_gmt":"2021-09-12T04:56:04","guid":{"rendered":"https:\/\/es-andreabianchini.it\/andrewsblog\/?p=723"},"modified":"2021-09-13T23:56:39","modified_gmt":"2021-09-13T23:56:39","slug":"programmazione-lineare","status":"publish","type":"post","link":"https:\/\/es-andreabianchini.it\/andrewsblog\/?p=723","title":{"rendered":"Programmazione Lineare"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code># pulp1.py\n#\n# Risoluzione di un problema di programmazione lineare\n# tramite la libreria PuLP.\n#\n# definizione problema by https:\/\/www3.diism.unisi.it\/~agnetis\/esesvolti.pdf\n# soluzione in Python tramite utilizzo libreria PuLP, by Andrea Bianchini 2021\n#\n# Problema:\n# Un lanificio produce filato di tipo standard e di tipo speciale\n# utilizzando 3 diverse macchine, le cui produzioni orarie sono le seguenti:\n# macchina A: 3 matasse standard e 1 speciale\n# macchina B: 2 matasse standard e 2 speciali\n# macchina C: 2 matasse standard e 1 speciale\n# Il mercato richiede almeno 60 matasse standard e 40 di tipo speciale al giorno. I costi\n# orari delle due macchine sono: 90 euro per la A, 80 euro per B, 60 euro per C.\n# Scrivere un modello di programmazione lineare per determinare la produzione giornaliera\n# di costo minimo. (Non occorre imporre il vincolo che le ore giornaliere non superino 24)\n#\n\n\nfrom pulp import *\n\na = pulp.LpVariable(\"a\", lowBound=0)\nb = pulp.LpVariable(\"b\", lowBound=0)\nc = pulp.LpVariable(\"c\", lowBound=0)\n\nproblem = pulp.LpProblem(\"Un semplice problema di min\", LpMinimize)\n\nproblem += 90*a + 80*b + 60*c, \"The objective function\"\nproblem += 3*a + 2*b + 2*c >= 60, \"1st constraint\"\nproblem += a + 2*b + c >= 40, \"2nd constraint\"\nproblem += a >= 0, \"3rd constraint\"\nproblem.solve()\n\nprint(\"Risultati della ottimizzazione:\")\nfor variable in problem.variables():\n    print(variable.name + \"=\" + str(variable.varValue))\nprint(\"Costo minimo netto totale: %.1f\" %value(problem.objective))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Risultati della ottimizzazione:\na=0.0\nb=10.0\nc=20.0\nCosto minimo netto totale: 2000.0\n&gt;&gt;&gt; <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Esempio:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,11,7],"tags":[],"class_list":["post-723","post","type-post","status-publish","format-standard","hentry","category-python","category-or","category-stem"],"_links":{"self":[{"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/posts\/723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=723"}],"version-history":[{"count":7,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/posts\/723\/revisions"}],"predecessor-version":[{"id":731,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=\/wp\/v2\/posts\/723\/revisions\/731"}],"wp:attachment":[{"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es-andreabianchini.it\/andrewsblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}