{"id":16650094,"url":"https://github.com/atul-anand-jha/optimization-linearprogramming-python","last_synced_at":"2025-04-09T17:21:17.505Z","repository":{"id":197868809,"uuid":"132197188","full_name":"Atul-Anand-Jha/Optimization-LinearProgramming-Python","owner":"Atul-Anand-Jha","description":"To implement Optimization (maximization) problem through Linear programming in Python Language.","archived":false,"fork":false,"pushed_at":"2019-11-20T17:14:35.000Z","size":179,"stargazers_count":13,"open_issues_count":0,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-23T19:22:26.243Z","etag":null,"topics":["jupyter-notebook","machine-learning","matplotlib","maximization","optimization-algorithms","pulp","python3","scipy"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Atul-Anand-Jha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-05-04T23:09:36.000Z","updated_at":"2024-07-27T00:02:43.000Z","dependencies_parsed_at":"2023-10-03T05:26:05.756Z","dependency_job_id":null,"html_url":"https://github.com/Atul-Anand-Jha/Optimization-LinearProgramming-Python","commit_stats":null,"previous_names":["atul-anand-jha/optimization-linearprogramming-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atul-Anand-Jha%2FOptimization-LinearProgramming-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atul-Anand-Jha%2FOptimization-LinearProgramming-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atul-Anand-Jha%2FOptimization-LinearProgramming-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atul-Anand-Jha%2FOptimization-LinearProgramming-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Atul-Anand-Jha","download_url":"https://codeload.github.com/Atul-Anand-Jha/Optimization-LinearProgramming-Python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248074976,"owners_count":21043505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","machine-learning","matplotlib","maximization","optimization-algorithms","pulp","python3","scipy"],"created_at":"2024-10-12T09:15:14.476Z","updated_at":"2025-04-09T17:21:17.478Z","avatar_url":"https://github.com/Atul-Anand-Jha.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Optimization-LinearProgramming-Python\n\n\u003chtml\u003e\n\u003chead\u003e\u003cmeta charset=\"utf-8\" /\u003e\n\n\u003cbody\u003e\n  \u003cdiv tabindex=\"-1\" id=\"notebook\" class=\"border-box-sizing\"\u003e\n    \u003cdiv class=\"container\" id=\"notebook-container\"\u003e\n\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"\u0026gt;\u0026gt;-Linear-programming:\"\u003e\u0026gt;\u0026gt; Linear programming:\u003ca class=\"anchor-link\" href=\"#\u0026gt;\u0026gt;-Linear-programming:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003cp\u003eOne of the Optimization topics is Linear Programming. In this category of optimization problems, both the cost function and all the restrictions are linear.\u003c/p\u003e\n\u003cp\u003eLinear programming (LP) is one of the simplest ways to perform optimization. We can solve some very complex optimization problems by making a few simplifying assumptions. As an analyst one is bound to come across applications and problems to be solved by Linear Programming.\u003c/p\u003e\n\u003cp\u003eIt is a simple technique where we depict complex relationships through linear functions and then find the optimum points. The real relationships might be much more complex – but we can simplify them to linear relationships.\u003c/p\u003e\n\u003cp\u003eIt could be a breakthrough method while solving optimization problems. One can use it to find Minimum cost expenditure, maximum profit gained, shortest path to travel, etc.\u003c/p\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"Simple-Example:\"\u003eSimple Example:\u003ca class=\"anchor-link\" href=\"#Simple-Example:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\u003cblockquote\u003e\u003cp\u003eHere I am providing a simple example to illustrate solving a simple LP optimization problem.\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003eFind the maximal and minimal value of \u003cstrong\u003ez = 3x + 4y\u003c/strong\u003e subject to the following \u003cstrong\u003econstraints\u003c/strong\u003e:\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003ex + 2y \u0026lt;= 14,\u003c/p\u003e\n\u003cp\u003e3x - y \u0026gt;= 0,\u003c/p\u003e\n\u003cp\u003ex - y \u0026lt;= 2\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eHere we need to find \u003cstrong\u003eoptimum (Max/Min)\u003c/strong\u003e solution for the \u003cstrong\u003eObjective Function: z = 3x + 4y\u003c/strong\u003e. First of all, we will convert constraints equations into more simpler way:\n\u003cimg src=\"eqn.png\" alt=\"alt txt\" title=\"Simplified equation\"\u003e\u003c/p\u003e\n\u003cp\u003eNow we will plot graph for these constraint equations.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cimg src=\"graph.png\" alt=\"alt txt\" title=\"Graph system\"\u003e\u003c/p\u003e\n\u003cblockquote\u003e\u003cblockquote\u003e\u003cp\u003eThe soltuion lies in the bounded (feasible) region. And the optimal solution is  @ either of these corners.\u003c/p\u003e\n\u003cp\u003eIts tabular repsentation to find the corner points.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cimg src=\"Table.png\" alt=\"alt txt\" title=\"Table\"\u003e\u003c/p\u003e\n\u003cblockquote\u003e\u003cblockquote\u003e\u003cblockquote\u003e\u003cp\u003eSolution for these corner points:\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003e(2, 6):      z = 3(2)   + 4(6)   =   6 + 24 =   30\u003c/p\u003e\n\u003cp\u003e(6, 4):      z = 3(6)   + 4(4)   = 18 + 16 =   34\u003c/p\u003e\n\u003cp\u003e(–1, –3):  z = 3(–1) + 4(–3) = –3 – 12 = –15\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003eThen the maximum of \u003cstrong\u003ez = 34\u003c/strong\u003e occurs at (6, 4),\u003c/p\u003e\n\u003cp\u003eand the minimum of \u003cstrong\u003ez = –15\u003c/strong\u003e occurs at (–1, –3).\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"\u0026gt;\u0026gt;-Common-terminologies-used-in-Linear-Programming\"\u003e\u0026gt;\u0026gt; Common terminologies used in Linear Programming\u003ca class=\"anchor-link\" href=\"#\u0026gt;\u0026gt;-Common-terminologies-used-in-Linear-Programming\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\u003cblockquote\u003e\u003cp\u003e\u003cstrong\u003eDecision Variables\u003c/strong\u003e: The decision variables are the variables which will decide my output. They represent my ultimate solution. To solve any problem, we first need to identify the decision variables. For the above example, the total number of units for A and B denoted by X \u0026amp; Y respectively are my decision variables.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eObjective Function\u003c/strong\u003e: It is defined as the objective of making decisions. In the above example, the company wishes to increase the total profit represented by Z. So, profit is my objective function.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eConstraints\u003c/strong\u003e: The constraints are the restrictions or limitations on the decision variables. They usually limit the value of the decision variables. In the above example, the limit on the availability of resources Milk and Choco are my constraints.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNon-negativity restriction\u003c/strong\u003e: For all linear programs, the decision variables should always take non-negative values. Which means the values for decision variables should be greater than or equal to 0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"\u0026gt;\u0026gt;-Solving-LP-problems:\"\u003e\u0026gt;\u0026gt; Solving LP problems:\u003ca class=\"anchor-link\" href=\"#\u0026gt;\u0026gt;-Solving-LP-problems:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003cblockquote\u003e\u003cp\u003eThere are many ways to solve a LP problem; like:- solving it throgh converting it to Standard Form, Graphical Method.\nOut of which, Graphical Method is most popular method.\u003c/p\u003e\n\u003cp\u003eAdditionally, we have multiple libraries for python that can help us soving a LP problem.\nviz.\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003e1.) scipy.optimize.minimize\u003c/p\u003e\n\u003cp\u003e2.) scipy.optimize.linprog\u003c/p\u003e\n\u003cp\u003e3.) PuLP\u003c/p\u003e\n\u003cp\u003e4.) Analyzing graphs through plotting with Matplotlib\u003c/p\u003e\n\u003cp\u003e..... And there must be few other methods also.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"\u0026gt;\u0026gt;-Circumstances-in-which-we-apply-LP-technique-to-solve-our-daily-analytics-operation\"\u003e\u0026gt;\u0026gt; Circumstances in which we apply LP technique to solve our daily analytics operation\u003ca class=\"anchor-link\" href=\"#\u0026gt;\u0026gt;-Circumstances-in-which-we-apply-LP-technique-to-solve-our-daily-analytics-operation\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003cp\u003ewe use LP technique to solve the optimiziation cases:\u003c/p\u003e\n\u003cblockquote\u003e\u003cblockquote\u003e\u003cp\u003eWhen we want to get best outcome (such as \u003cstrong\u003emaximum profit\u003c/strong\u003e or \u003cstrong\u003elowest cost\u003c/strong\u003e) in a mathematical model; considering whose \u003cstrong\u003erequirements are represented by \"linear relationships\" \u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eWhen its \u003cstrong\u003eobjective function\u003c/strong\u003e can be represented through a \u003cstrong\u003e \u003cu\u003elinear function \u003c/u\u003e\u003c/strong\u003e.\n    and subject to subject to \u003cstrong\u003e\u003cu\u003elinear equality\u003c/u\u003e\u003c/strong\u003e and \u003cstrong\u003e\u003cu\u003elinear inequality\u003c/u\u003e constraints\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003e-\u0026gt;It can be applied in following application indaily analytics operations:\u003c/p\u003e\n\u003cblockquote\u003e\u003col\u003e\n\u003cli\u003e\u003cp\u003eManufacturing industries use linear programming for \u003cu\u003eanalyzing their supply chain operations\u003c/u\u003e. Their motive is to \u003cstrong\u003emaximize efficiency\u003c/strong\u003e with \u003cstrong\u003eminimum operation cost\u003c/strong\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eLinear programming is also used in \u003cstrong\u003eorganized retail\u003c/strong\u003e for \u003cu\u003eshelf space optimization\u003c/u\u003e. Since the number of products in the market have increased in leaps and bounds, it is important to understand what does the customer want.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eOptimization is also used for \u003cu\u003eoptimizing Delivery Routes\u003c/u\u003e. This is an extension of the popular traveling salesman problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimizations is also used in \u003cu\u003eMachine Learning\u003c/u\u003e. \u003cstrong\u003eSupervised Learning\u003c/strong\u003e works on the fundamental of linear programming.\u003c/li\u003e\n\u003cli\u003eThere are many more applications of linear programming in \u003cstrong\u003ereal-world\u003c/strong\u003e like applied by \u003cstrong\u003eShareholders, Sports, Stock Markets\u003c/strong\u003e, etc.  \u003c/li\u003e\n\u003c/ol\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"Question:\"\u003eQuestion:\u003ca class=\"anchor-link\" href=\"#Question:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003e A car company produces 2 models, model A and model B. Long-term projections indicate an expected demand of at least 100 model A cars and 80 model B cars each day. Because of limitations on production capacity, no more than 200 model A cars and 170 model B cars can be made daily. To satisfy a shipping contract, a total of at least 200 cars much be shipped each day. If each model A car sold results in a $2000 loss, but each model B car produces a $5000 profit, how many of each type should be made daily to maximize net profits?\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003cblockquote\u003e\u003cp\u003ecar models - \u003cstrong\u003eA\u003c/strong\u003e \u0026amp; \u003cstrong\u003eB\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e*demand: A \u0026gt;= 100 ; B \u0026gt;= 80\u003c/p\u003e\n\u003cp\u003e*produce: A \u0026lt;= 200 ; B \u0026lt;= 170\u003c/p\u003e\n\u003cblockquote\u003e\u003cp\u003eSo, we can conclude that: \u003cstrong\u003e200 \u0026gt;= A \u0026gt;= 100\u003c/strong\u003e   and  \u003cstrong\u003e170 \u0026gt;= B \u0026gt;= 80\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e*Shipping: A + B \u0026gt;= 200\u003c/p\u003e\n\u003cp\u003e*objective function: \u003cstrong\u003e( z = 5000B - 2000A )\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"visualization-of-the-problem:\"\u003evisualization of the problem:\u003ca class=\"anchor-link\" href=\"#visualization-of-the-problem:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\u003cblockquote\u003e\u003ch1 id=\"The-solution-lies-in-the-feasible-region(-green-region)-------\"\u003eThe solution lies in the feasible region( green region) ------\u003ca class=\"anchor-link\" href=\"#The-solution-lies-in-the-feasible-region(-green-region)-------\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/blockquote\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing code_cell rendered\"\u003e\n\u003cdiv class=\"input\"\u003e\n\u003cdiv class=\"prompt input_prompt\"\u003eIn\u0026nbsp;[9]:\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n    \u003cdiv class=\"input_area\"\u003e\n\u003cdiv class=\" highlight hl-ipython3\"\u003e\u003cpre\u003e\u003cspan\u003e\u003c/span\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003ematplotlib.pyplot\u003c/span\u003e \n\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003ematplotlib.pyplot\u003c/span\u003e \u003cspan class=\"k\"\u003eimport\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e\n\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003enumpy\u003c/span\u003e\n\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003enumpy\u003c/span\u003e \u003cspan class=\"k\"\u003eimport\u003c/span\u003e \u003cspan class=\"n\"\u003earange\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003efigure\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\n\u003cspan class=\"n\"\u003eA\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003earange\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e10\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eB\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003earange\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e10\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e# constraint equation\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003eB1\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mf\"\u003e200.0\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003eA\u003c/span\u003e\n\n\n\n\u003cspan class=\"n\"\u003exlim\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eylim\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003ehlines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;k\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003evlines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e220\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;k\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003egrid\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003eTrue\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003exlabel\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;X-axis\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eylabel\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;Y-axis\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#Plotting graph\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003eplot\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eB1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;b\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eaxhline\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e80\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;r\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eaxhline\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e170\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;m\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eaxvline\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e200\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;b\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003eaxvline\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;g\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003etitle\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;objective function: z = 5000B - 2000A with following constarints\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"n\"\u003elegend\u003c/span\u003e\u003cspan class=\"p\"\u003e([\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;A+B\u0026gt;=200\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;200\u0026gt;=A\u0026gt;=100\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;170\u0026gt;=B\u0026gt;=80\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e])\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e# get the co-ordinates of intersection points by mere visualisation\u003c/span\u003e\n\u003cspan class=\"n\"\u003eA\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mf\"\u003e200.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"mf\"\u003e100.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e100.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e120.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"mf\"\u003e200.0\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003cspan class=\"n\"\u003eB\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mf\"\u003e170.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e170.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e100.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e80.0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mf\"\u003e80.0\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003cspan class=\"n\"\u003efill\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;g+\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\n\u003cspan class=\"n\"\u003eshow\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#Getting Solution\u003c/span\u003e\n\u003cspan class=\"n\"\u003echecker\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\n\u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"nb\"\u003ezip\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e calculating for point: A = \u003c/span\u003e\u003cspan class=\"si\"\u003e{0:f}\u003c/span\u003e\u003cspan class=\"s1\"\u003e and B = \u003c/span\u003e\u003cspan class=\"si\"\u003e{1:f}\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e \u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eformat\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n    \u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;solution for z = \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e5000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e2000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n    \u003cspan class=\"k\"\u003eif\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003echecker\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;=\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e5000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e2000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e)):\u003c/span\u003e\n       \u003cspan class=\"n\"\u003echecker\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e5000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e2000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n       \u003cspan class=\"n\"\u003eX\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eY\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003ej\u003c/span\u003e\n       \n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e the maximum profit z = $\u003c/span\u003e\u003cspan class=\"si\"\u003e{0:f}\u003c/span\u003e\u003cspan class=\"s1\"\u003e @ A = \u003c/span\u003e\u003cspan class=\"si\"\u003e{1:f}\u003c/span\u003e\u003cspan class=\"s1\"\u003e and B = \u003c/span\u003e\u003cspan class=\"si\"\u003e{2:f}\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e \u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eformat\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003echecker\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eX\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eY\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cdiv class=\"output_wrapper\"\u003e\n\u003cdiv class=\"output\"\u003e\n\n\n\u003cdiv class=\"output_area\"\u003e\n\n### Output::::::::::::\n![Output for Question](https://github.com/Atul-Anand-Jha/Optimization-LinearProgramming-Python/blob/master/output-graph.png \"Output-graph\")\n\n\n\u003c/div\u003e\n\n\u003c/div\u003e\n\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"Solving-using-library-PULP:\"\u003eSolving using library PULP:\u003ca class=\"anchor-link\" href=\"#Solving-using-library-PULP:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing code_cell rendered\"\u003e\n\u003cdiv class=\"input\"\u003e\n\u003cdiv class=\"prompt input_prompt\"\u003eIn\u0026nbsp;[6]:\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n    \u003cdiv class=\"input_area\"\u003e\n\u003cdiv class=\" highlight hl-ipython3\"\u003e\u003cpre\u003e\u003cspan\u003e\u003c/span\u003e\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003epulp\u003c/span\u003e \u003cspan class=\"k\"\u003eimport\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e\n\u003cspan class=\"c1\"\u003e# declare your variables\u003c/span\u003e\n\u003cspan class=\"n\"\u003eA\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eLpVariable\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026quot;A\u0026quot;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e200\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e   \u003cspan class=\"c1\"\u003e# 100 \u0026lt;= A \u0026lt;= 200\u003c/span\u003e\n\u003cspan class=\"n\"\u003eB\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eLpVariable\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026quot;B\u0026quot;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e80\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e170\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# 80 \u0026lt;= B \u0026lt;= 170\u003c/span\u003e\n \n\u003cspan class=\"c1\"\u003e# defines the problem: optimization - Maximization\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eLpProblem\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026quot;problem\u0026quot;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eLpMaximize\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n \n\u003cspan class=\"c1\"\u003e# defines the constraints\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"n\"\u003eA\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003eB\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e\u003cspan class=\"mi\"\u003e200\u003c/span\u003e \n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026lt;=\u003c/span\u003e\u003cspan class=\"mi\"\u003e200\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e\u003cspan class=\"mi\"\u003e80\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026lt;=\u003c/span\u003e\u003cspan class=\"mi\"\u003e170\u003c/span\u003e\n \n\u003cspan class=\"c1\"\u003e# defines the objective function to maximize\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprob\u003c/span\u003e \u003cspan class=\"o\"\u003e+=\u003c/span\u003e \u003cspan class=\"mi\"\u003e5000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e2000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\n \n\u003cspan class=\"c1\"\u003e# solve the problem\u003c/span\u003e\n\u003cspan class=\"n\"\u003estatus\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eprob\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003esolve\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;printing status of the LP problem: \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eLpStatus\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"n\"\u003estatus\u003c/span\u003e\u003cspan class=\"p\"\u003e])\u003c/span\u003e\n \n\u003cspan class=\"c1\"\u003e# print the results A = 100, B = 170\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;Value of model A car: \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evalue\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;Value of model B car: \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evalue\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;the optimal solution or say maximum profit: $\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evalue\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eprob\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eobjective\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cdiv class=\"output_wrapper\"\u003e\n\u003cdiv class=\"output\"\u003e\n\n\n\u003cdiv class=\"output_area\"\u003e\n\n\u003cdiv class=\"prompt\"\u003e\u003c/div\u003e\n\n### Output::::::::::::\n\u003cdiv class=\"output_subarea output_stream output_stdout output_text\"\u003e\n\u003cpre\u003eprinting status of the LP problem:  Optimal\nValue of model A car:  100.0\nValue of model B car:  170.0\nthe optimal solution or say maximum profit: $ 650000.0\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing text_cell rendered\"\u003e\u003cdiv class=\"prompt input_prompt\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n\u003cdiv class=\"text_cell_render border-box-sizing rendered_html\"\u003e\n\u003ch1 id=\"Solving-using-Scipy-Library:\"\u003eSolving using Scipy Library:\u003ca class=\"anchor-link\" href=\"#Solving-using-Scipy-Library:\"\u003e\u0026#182;\u003c/a\u003e\u003c/h1\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"cell border-box-sizing code_cell rendered\"\u003e\n\u003cdiv class=\"input\"\u003e\n\u003cdiv class=\"prompt input_prompt\"\u003eIn\u0026nbsp;[11]:\u003c/div\u003e\n\u003cdiv class=\"inner_cell\"\u003e\n    \u003cdiv class=\"input_area\"\u003e\n\u003cdiv class=\" highlight hl-ipython3\"\u003e\u003cpre\u003e\u003cspan\u003e\u003c/span\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003enumpy\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003enp\u003c/span\u003e\n\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003escipy.optimize\u003c/span\u003e \u003cspan class=\"k\"\u003eimport\u003c/span\u003e \u003cspan class=\"n\"\u003eminimize\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#defining our Objective function\u003c/span\u003e\n\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003eobjective\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n    \u003cspan class=\"n\"\u003eA\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n    \u003cspan class=\"n\"\u003eB\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n    \u003cspan class=\"c1\"\u003e#since we are finding Max result using Minimizer. So returned the negative value.\u003c/span\u003e\n    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e5000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003eB\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e2000\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003eA\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003econstraint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"mi\"\u003e200\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#boundations\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003eb1\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e200\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e     \u003cspan class=\"c1\"\u003e#bounds on A: 200 \u0026gt;= A \u0026gt;= 100\u003c/span\u003e\n\u003cspan class=\"n\"\u003eb2\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e80\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e170\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e      \u003cspan class=\"c1\"\u003e#bounds on B: 170 \u0026gt;= B \u0026gt;= 80\u003c/span\u003e\n\n\u003cspan class=\"n\"\u003ebnds\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eb1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eb2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#defining Inequality type of constraint.\u003c/span\u003e\n\u003cspan class=\"n\"\u003econ\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;type\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;ineq\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;fun\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003econstraint\u003c/span\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e# passing any guess value for A and B into minimize fuinction.\u003c/span\u003e\n\u003cspan class=\"n\"\u003eXguess\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"mi\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e#Predicting Maximization values for the objective function by seeding guess value Xguess; boundations included..\u003c/span\u003e\n\u003cspan class=\"n\"\u003esol\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eminimize\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eobjective\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eXguess\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003emethod\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;SLSQP\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eoptions\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;disp\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"kc\"\u003eTrue\u003c/span\u003e\u003cspan class=\"p\"\u003e},\u003c/span\u003e \u003cspan class=\"n\"\u003ebounds\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ebnds\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003econstraints\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003econ\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;About solution from Optimize.minnimize: \u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e \u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003esol\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\n\n\u003cspan class=\"c1\"\u003e#assigning values to desired results.\u003c/span\u003e\n\u003cspan class=\"n\"\u003eprofit\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003esol\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003efun\u003c/span\u003e   \u003cspan class=\"c1\"\u003e#converting back to positive answer\u003c/span\u003e\n\u003cspan class=\"n\"\u003eCarA\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esol\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e     \u003cspan class=\"c1\"\u003e# number of car A models\u003c/span\u003e\n\u003cspan class=\"n\"\u003eCarB\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esol\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e     \u003cspan class=\"c1\"\u003e# number of car B models\u003c/span\u003e\n\n\u003cspan class=\"c1\"\u003e###################################################################\u003c/span\u003e\n\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\\n\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003ePrinting the Results: \u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\\n\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;maximum Profit Gained: $\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eprofit\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e Number of Model A Cars: \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eCarA\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;\u003c/span\u003e\u003cspan class=\"se\"\u003e\\n\u003c/span\u003e\u003cspan class=\"s1\"\u003e Number of Model B Cars: \u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eCarB\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cdiv class=\"output_wrapper\"\u003e\n\u003cdiv class=\"output\"\u003e\n\n\n\u003cdiv class=\"output_area\"\u003e\n\n\u003cdiv class=\"prompt\"\u003e\u003c/div\u003e\n\n### Output::::::::::::\n\u003cdiv class=\"output_subarea output_stream output_stdout output_text\"\u003e\n\n\u003cpre\u003ePositive directional derivative for linesearch    (Exit mode 8)\n            Current function value: -650000.0\n            Iterations: 7\n            Function evaluations: 12\n            Gradient evaluations: 3\nAbout solution from Optimize.minnimize: \n      fun: -650000.0\n     jac: array([ 2000., -5000.])\n message: \u0026#39;Positive directional derivative for linesearch\u0026#39;\n    nfev: 12\n     nit: 7\n    njev: 3\n  status: 8\n success: False\n       x: array([ 100.,  170.])\n\n\n\nPrinting the Results: \n\n\n\nmaximum Profit Gained: $ 650000.0\n\n Number of Model A Cars:  100.0\n\n Number of Model B Cars:  170.0\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\u003c/body\u003e\n\n \n\n\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatul-anand-jha%2Foptimization-linearprogramming-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatul-anand-jha%2Foptimization-linearprogramming-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatul-anand-jha%2Foptimization-linearprogramming-python/lists"}