Update Beyond_Linear_Programming.ipynb

Removing space in image refs: raw=true \ should be raw=true\
pull/3/head
rorykeeley 2017-04-19 20:16:24 +02:00 committed by GitHub
parent 12c696da32
commit 22b869109f
1 changed files with 13 additions and 13 deletions

View File

@ -358,7 +358,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_10.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_10.png?raw=true\" >\n",
"</ul> \n",
"\n",
"\n",
@ -379,7 +379,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_11.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_11.png?raw=true\" >\n",
"</ul> \n",
"\n",
"In this example, the workers are represented by nodes 1 through 3, while the jobs are represented with nodes A, B and C. The cost of assigning a worker to a job is shown on each arc. The objective is to minimize the total assignment cost. Again, the constraints can be seen as flow conservation constraints. The first three constraints state that each job is filled by exactly one person, while the last three constraints state that each person is assigned to exactly one job. The variables should now take a value of 1 if worker i is assigned to job j, and zero otherwise. \n",
@ -397,7 +397,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_12.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_12.png?raw=true\" >\n",
"</ul> \n",
"\n",
"In this example, each node represents a city, and each arc represents the road connecting two cities. The travel time is indicated on each arc. The variable x(i, j) takes a value of 1 if the arc between i and j is included in the shortest path, and zero otherwise. The objective is to minimize the total travel time. As with the other network problems, the constraints can be seen as flow conservation constraints. A constraint exists for each node (or each city) and the constraints state that exactly one arc should be chosen into each city, and exactly one arc should be chosen out of each city. \n",
@ -419,7 +419,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_13.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_13.png?raw=true\" >\n",
"</ul> \n",
"\n",
"Here, the arcs show the task durations, while the nodes show the task start times. For modeling purposes, let t(i) be the start time of the tasks originating at node i. The objective is to minimize the project completion time, namely t7. The constraints indicate the task duration and precedence. For example, the third constraint indicates that the minimum time between starting the sink installation (that is, node 3), and starting the plumbing (that is, node 1) is 3 days. Arcs 3-2 and 4-2 are dummy tasks required to complete the model. Such dummy tasks have no minimum time associated with them, but are used to model precedence involving more than one preceding tasks of varying duration, in this case that the plumbing, electricity, and appliance order time must be complete before appliances can be installed. \n",
@ -469,7 +469,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_19.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_19.png?raw=true\" >\n",
"</ul> \n",
"\n",
"## Approximating a non-linear program with piecewise-linear functions\n",
@ -480,7 +480,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_21.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_21.png?raw=true\" >\n",
"</ul> \n",
"\n",
"We will start by discussing this approximation.\n",
@ -503,7 +503,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_25.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_25.png?raw=true\" >\n",
"</ul> \n",
"\n",
"The diagram shows that the total shipping cost is evaluated by 3 different linear functions, each determined by the quantity shipped $Q$:\n",
@ -803,7 +803,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_39.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_39.png?raw=true\" >\n",
"</ul> \n",
"\n",
"This graphic shows the new feasible region where the dots indicate the feasible solutions. That is, solutions where the variables take only integer values. This graphic is not according to scale, because its not possible to indicate all the integer points graphically for this example. What you should take away from this graphic, is that the feasible region is now a collection of points, as opposed to a solid area. Because, in this example, the integer solution does not lie on an extreme point of the continuous feasible region, LP techniques would not find the integer optimum. To find the integer optimum, you should use an integer programming technique. \n"
@ -848,7 +848,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_43.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_43.png?raw=true\" >\n",
"</ul> \n",
"\n",
"In this case, the solution is fractional and the tree search continues in order to try and find an integer solution.\n",
@ -861,7 +861,7 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_44.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_44.png?raw=true\" >\n",
"</ul> \n",
"\n",
"The algorithm will terminate when the gap between the upper and lower bounds is sufficiently small, but at this point there is still more of the tree to explore.\n",
@ -870,21 +870,21 @@
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_45.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_45.png?raw=true\" >\n",
"</ul> \n",
"\n",
"Two new subproblems are now generated from IP2, and these constraints are determined by the fractional value of z in IP2. In IP4, z must be less than or equal to 5, and in IP3 z must be greater than or equal to 6. IP4 gives another fractional solution, while IP3 is infeasible and can be pruned. When a node is pruned, the node is not explored further in the tree.\n",
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_46.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_46.png?raw=true\" >\n",
"</ul> \n",
"\n",
"Next, two more subproblems are created from IP4, namely one with y less than or equal to zero in IP6, and one with y greater than or equal to 1 in IP5. IP6 yields an integer solution of 11, which is an improvement of the previously found lower bound of 10. IP5 gives a fractional solution and can be explored further.\n",
"\n",
"<p>\n",
"<ul>\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_47.png?raw=true \" >\n",
"<img src = \"https://ibmdecisionoptimization.github.io/tutorials/jupyter/training/1_47.png?raw=true\" >\n",
"</ul> \n",
"\n",
"So another two subproblems are created from IP5, namely IP8 with z less than or equal to 4, and IP7 with z greater than or equal to 5. However, the constraint added for IP4 specifies that z must be less than or equal to 5, so node IP7 immediately yields an integer solution with an objective value of 11, which is the same objective as for IP6. IP8 yields an integer solution with objective value of 9, which is a worse solution than those previously found and IP8 can therefore be discarded. \n",