<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=OR-Tools%2FC2%2FLinear-Programming-with-two-index-variables%2FEnglish</id>
		<title>OR-Tools/C2/Linear-Programming-with-two-index-variables/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=OR-Tools%2FC2%2FLinear-Programming-with-two-index-variables%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;action=history"/>
		<updated>2026-04-17T16:23:51Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22262&amp;oldid=prev</id>
		<title>Nancyvarkey at 00:46, 30 May 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22262&amp;oldid=prev"/>
				<updated>2015-05-30T00:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 00:46, 30 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 331:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 331:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Here is an assignment for you. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Here is an assignment for you. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* Here we have 2 plants and 2 sites. Transportation cost is given in the table.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Here we have 2 plants and 2 sites. Transportation cost is given in the table.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* Hint: Formulate this problem as explained in the previous example.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Hint: Formulate this problem as explained in the previous example.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* Please solve it using '''Karmarkar function''' and verify. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Please solve it using '''Karmarkar function''' and verify. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* The optimal value should be 520 and&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The optimal value should be 520 and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* The optimal solution&amp;#160; should have x1,2=60, x2,1= 100 , and all others have zero.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The optimal solution&amp;#160; should have x1,2=60, x2,1= 100 , and all others have zero.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 348:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 348:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this tutorial, we have learnt:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this tutorial, we have learnt:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* About variables with two indices.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* About variables with two indices.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* Example of '''LP''' with two-index variables and its input parameters.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Example of '''LP''' with two-index variables and its input parameters.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;* We have also learnt to apply '''Karmarkar function''' to solve '''Linear&amp;#160; Transportation problem''' in '''Scilab'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* We have also learnt to apply '''Karmarkar function''' to solve '''Linear&amp;#160; Transportation problem''' in '''Scilab'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 363:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 363:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''FOSSEE''' stands for Free and Open Source Software for Education.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''FOSSEE''' stands for Free and Open Source Software for Education.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160;  * This project promotes the use of free and open source software tools.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  * &lt;/del&gt;For more details, please visit: http://fossee.in/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;This project promotes the use of free and open source software tools.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For more details, please visit: http://fossee.in/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Slide 21&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Slide 21&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;About the Spoken Tutorial Project &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;About the Spoken Tutorial Project &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The video at this link summarises the Spoken Tutorial project. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The video at this link summarises the Spoken Tutorial project. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please download and watch it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please download and watch it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Slide 22&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Slide 22&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22261&amp;oldid=prev</id>
		<title>Nancyvarkey at 00:43, 30 May 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22261&amp;oldid=prev"/>
				<updated>2015-05-30T00:43:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;amp;diff=22261&amp;amp;oldid=22251&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22251&amp;oldid=prev</id>
		<title>Surajtrivedi at 12:21, 28 May 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22251&amp;oldid=prev"/>
				<updated>2015-05-28T12:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:21, 28 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 259:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 259:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|This line will display fopt value, which is the optimal value of TP.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|This line will display fopt value, which is the optimal value of TP.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| Now, click on the Execute button. After that, go back to scilab console to see the results.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Optimal-solution&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Optimal-solution&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Surajtrivedi</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22250&amp;oldid=prev</id>
		<title>Surajtrivedi: Created page with &quot;{|border = 1  |Time  |Narration |- |Slide 1 Welcome |Welcome to the spoken tutorial on solving Linear programming problems with two-index variables in Scilab. |- | Slide 2 Obj...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=OR-Tools/C2/Linear-Programming-with-two-index-variables/English&amp;diff=22250&amp;oldid=prev"/>
				<updated>2015-05-28T12:13:36Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{|border = 1  |Time  |Narration |- |Slide 1 Welcome |Welcome to the spoken tutorial on solving Linear programming problems with two-index variables in Scilab. |- | Slide 2 Obj...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{|border = 1 &lt;br /&gt;
|Time &lt;br /&gt;
|Narration&lt;br /&gt;
|-&lt;br /&gt;
|Slide 1&lt;br /&gt;
Welcome&lt;br /&gt;
|Welcome to the spoken tutorial on solving Linear programming problems with two-index variables in Scilab.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 2&lt;br /&gt;
Objective&lt;br /&gt;
|In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
  * Solve a Linear Programming problem having variables with two indices in Scilab.&lt;br /&gt;
&lt;br /&gt;
  * Use Karmarkar function. &lt;br /&gt;
&lt;br /&gt;
  * Use Transportation Problem as an example of Linear Programming.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 3&lt;br /&gt;
Prerequisites&lt;br /&gt;
|In order to understand this tutorial: &lt;br /&gt;
&lt;br /&gt;
   * You should have gone through the spoken tutorial on 'Optimization Using Karmarkar Function'.&lt;br /&gt;
&lt;br /&gt;
   * This tutorial is available on the Spoken Tutorial website.&lt;br /&gt;
&lt;br /&gt;
   * You should be familiar with Linear Programming.&lt;br /&gt;
&lt;br /&gt;
   * And have Scilab installed on your system.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 4&lt;br /&gt;
Terminology&lt;br /&gt;
|In this tutorial, we will refer to:&lt;br /&gt;
 &lt;br /&gt;
   * Linear Programming as LP. And &lt;br /&gt;
&lt;br /&gt;
   * Transportation Problem as TP.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 5&lt;br /&gt;
What is two-index variable?&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
  * If a variable has two indices in LP, then it is called a two-index variable.&lt;br /&gt;
&lt;br /&gt;
  * For example x one comma two. Here x has two indices 1 and 2.&lt;br /&gt;
&lt;br /&gt;
  * An example of  LP with two-index variables is the TP.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Slide 6&lt;br /&gt;
What is Transportation Problem?&lt;br /&gt;
|To understand the transportation problem, we consider the following network as an example&lt;br /&gt;
&lt;br /&gt;
This network has three supply nodes -  plant P1, plant P2 and plant P3, two demand nodes - site S1 and site S2&lt;br /&gt;
                                 &lt;br /&gt;
We can transport goods from P1 node to S1 and S2 with transporting cost c1,1 and c1,2. &lt;br /&gt;
&lt;br /&gt;
Similarly, goods from P2 to S1 and S2 with transporting cost c2,1 and c2,2. &lt;br /&gt;
 &lt;br /&gt;
Goods from P3 to S1 and S2 with transporting cost c3,1 and c3,2, respectively.  &lt;br /&gt;
&lt;br /&gt;
  * The aim is to supply goods from the plants to the sites, with total minimum transportation cost. &lt;br /&gt;
&lt;br /&gt;
  * Supply nodes cannot transport more than their capacity. &lt;br /&gt;
&lt;br /&gt;
  * Note that all the demand at the sites must be met. &lt;br /&gt;
&lt;br /&gt;
  * Supply capacities, demands and transportation costs are known. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Slide 7&lt;br /&gt;
Transportation Problem Example&lt;br /&gt;
|&lt;br /&gt;
   * A cement company transports cement from plants 1, 2 and 3 to construction sites 1 and 2.&lt;br /&gt;
&lt;br /&gt;
   * The available supply at each plant is: &lt;br /&gt;
       plant-1: 45 tons, plant-2: 60 tons and&lt;br /&gt;
       plant-3: 35 tons.&lt;br /&gt;
&lt;br /&gt;
   * The demands of sites are: &lt;br /&gt;
       site-1: 50 tons and&lt;br /&gt;
       site-2: 60 tons.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 8&lt;br /&gt;
Transportation Problem Example&lt;br /&gt;
&lt;br /&gt;
| Point to the table&lt;br /&gt;
   * The  cost of transporting 1 ton of cement from each plant to each site, is given in the table:&lt;br /&gt;
&lt;br /&gt;
Transporting cost from plant one to site one and site two is three and two respectively.&lt;br /&gt;
&lt;br /&gt;
Similarly, other plants have transporting cost.&lt;br /&gt;
 &lt;br /&gt;
Each plant has Available Supply. &lt;br /&gt;
 &lt;br /&gt;
Each site has Demand. &lt;br /&gt;
&lt;br /&gt;
   * We will formulate it as LP problem and find its optimal solution. &lt;br /&gt;
|-&lt;br /&gt;
|Slide 9&lt;br /&gt;
Decision Variable&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
   * Two-index decision variable: xi,j is the number of tons transported from plant i to site j.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 10&lt;br /&gt;
Formulation&lt;br /&gt;
|Formulation of this problem is:&lt;br /&gt;
&lt;br /&gt;
   * Objective function:&lt;br /&gt;
     Minimize&lt;br /&gt;
     3 x1,1 plus 2x1,2 plus x2,1 plus 5x2,2 plus 5x3,1 plus 4x3,2.&lt;br /&gt;
&lt;br /&gt;
   * Constraints:&lt;br /&gt;
     Since plant-1 can not supply more than its capacity, therefore we have&lt;br /&gt;
     x1,1 plus x1,2  is less than or equal to  forty five&lt;br /&gt;
     Similary for plant-2, we have&lt;br /&gt;
     x2,1 plus x2,2  is less than or equal to  sixty&lt;br /&gt;
     Similary for plant-3, we have&lt;br /&gt;
     x3,1 plus x3,2 is less than or equal to  thirty five&lt;br /&gt;
&lt;br /&gt;
   * Demand at the site-1 must be met, therefore we have&lt;br /&gt;
     x1,1 plus x2,1 plus x3,1  is greater than or equal (&amp;gt;=) to  fifty. It is equivalent to minus x1,1 minus x2,1 minus x3,1 is less than or     equal (&amp;lt;=)to minus fifty(-50). &lt;br /&gt;
     Both constraints are equivalent to each other. &lt;br /&gt;
     We multiplied with -1 to make inequality constraints in 'less than or equal to' form for Karmarkar function.&lt;br /&gt;
     Similarly at site-2, we have&lt;br /&gt;
    x1,2  plus x2,2  plus x3,2  is greater than or equal to (&amp;gt;=) sixty. It is equivalent to minus x1,2  minus x2,2  minus x32 is less than or       equal (&amp;lt;=) to minus sixty(-60). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * xi,j is greater than or equal to zero (This is because transported quantity can not be negative). &lt;br /&gt;
    i is 1, 2, 3 because we have 3 supply nodes in this example.&lt;br /&gt;
    And j is 1, 2 because we have two demand nodes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 11&lt;br /&gt;
Karmarkar Function in Scilab&lt;br /&gt;
|&lt;br /&gt;
  * Karmarkar function is LP solver in Scilab.&lt;br /&gt;
&lt;br /&gt;
  * Karmarkar function solves the LP problem &lt;br /&gt;
 in the following form-&lt;br /&gt;
|-&lt;br /&gt;
|Slide 12&lt;br /&gt;
Karmarkar Function in Scilab&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
              Minimize c transpose X.&lt;br /&gt;
              subject to AeqX is equal to beq&lt;br /&gt;
              which means constraints have equality sign.&lt;br /&gt;
              AX less than or equal to b&lt;br /&gt;
              which means constraints with greater than or equal to sign must be by multiplied by -1.&lt;br /&gt;
              lb less than or equal to X less than or equal to ub.&lt;br /&gt;
              Where, lb stands for lower bounds and ub stands for upper bounds on the variables. &lt;br /&gt;
&lt;br /&gt;
   * c transpose,  Aeq, beq, A, b,  lb and ub are the known parameters.&lt;br /&gt;
&lt;br /&gt;
   * x is the vector of decision variables.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 13&lt;br /&gt;
Input Parameters&lt;br /&gt;
&lt;br /&gt;
|Coming back to our example.&lt;br /&gt;
&lt;br /&gt;
   * The coefficient vector of objective function is c transpose 3 2 1 5 5 4.&lt;br /&gt;
     This vector size will change according to the example.In our example, it contains 6 numbers. &lt;br /&gt;
|-&lt;br /&gt;
|Slide 14&lt;br /&gt;
Input Parameters&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
   * The coefficient matrix of constraints is capital A . &lt;br /&gt;
     In the first row, we have 1 1 and rest of the values are zero.&lt;br /&gt;
     This is because in our 1st constraint only variables x1,1 and x1,2 are present, and rest of the variables have zero coefficient.&lt;br /&gt;
     Row 2 is 0 0 1 1 0 0 because 2nd constraint  has variables x2,1 and x2,2.&lt;br /&gt;
     And Row 3 is 0 0 0 0 1 1 because 3rd constraint  has variables x3,1 and x3,2.&lt;br /&gt;
     In fourth row, we have -1 0 -1 0 -1 0. &lt;br /&gt;
     This because in our 4th constraint only variables are x1,1, x2,1 and x3,1 are present.&lt;br /&gt;
     5th row is 0 -1 0 -1 0 -1 because 5th constraint has variables x1,2, x2,2 and x3,2.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 15&lt;br /&gt;
Input Parameters&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
    * The  vector of right hand side of constraints is b 45 60 35 -50 -60.&lt;br /&gt;
&lt;br /&gt;
    * lb is equal to zero for all variables as all xi,j are greater than or equal to zero.&lt;br /&gt;
&lt;br /&gt;
    * In our example, we do not require Aeq, beq and ub.&lt;br /&gt;
|-&lt;br /&gt;
| Slide 16&lt;br /&gt;
Steps to download the required code&lt;br /&gt;
&lt;br /&gt;
|I have a working example with me. I will open my file opt.sce in the Scilab console.&lt;br /&gt;
&lt;br /&gt;
   * Pause this tutorial and click on the Code Files link below the player.  &lt;br /&gt;
&lt;br /&gt;
   * This will download “opt.sce” file on your machine.  &lt;br /&gt;
&lt;br /&gt;
   * Locate this file and open it in the Scilab console.  &lt;br /&gt;
&lt;br /&gt;
   * Now resume the tutorial.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
c = [3;2;1;5;5;4];&lt;br /&gt;
|&lt;br /&gt;
In the formulation of TP,&lt;br /&gt;
&lt;br /&gt;
c is the coefficient vector of the objective function.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
A = [&lt;br /&gt;
        1 1 0 0 0 0&lt;br /&gt;
        0 0 1 1 0 0&lt;br /&gt;
        0 0 0 0 1 1&lt;br /&gt;
        -1 0 -1 0 -1 0&lt;br /&gt;
        0 -1 0 -1 0 -1&lt;br /&gt;
        ];&lt;br /&gt;
|Capital A is the coefficient matrix of constraints.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
b=[45;60;35;-50;-60];&lt;br /&gt;
|b is the vector of right hand side of constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
lb=[0;0;0;0;0;0];&lt;br /&gt;
|&lt;br /&gt;
lb is the vector of the lower bound of the variables.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
ub =[];&lt;br /&gt;
|&lt;br /&gt;
Upper bound is empty vector because we do not require it in this example.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[xopt,fopt,exitflag,iter,yopt]=&lt;br /&gt;
karmarkar([],[],c,[],[],[],[],[],A,b,lb,ub)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Now we can call the Karmarkar function to solve TP.&lt;br /&gt;
Each parameter in this function is explained in the spoken tutorial mentioned earlier. &lt;br /&gt;
In TP, four parameters c, A, b, lb and ub will always be present, and rest will be empty.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
disp(xopt,'Optimal solution')&lt;br /&gt;
|&lt;br /&gt;
This line will display xopt value, which is the optimal solution of TP.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
disp(fopt, 'Optimal value')&lt;br /&gt;
&lt;br /&gt;
|This line will display fopt value, which is the optimal value of TP.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Optimal-solution   &lt;br /&gt;
&lt;br /&gt;
    0.0000691  &lt;br /&gt;
    44.999793  &lt;br /&gt;
    50.000138  &lt;br /&gt;
    0.0002763  &lt;br /&gt;
    0.0000691  &lt;br /&gt;
     15.&lt;br /&gt;
&lt;br /&gt;
|The optimal solution and optimal value are given.&lt;br /&gt;
&lt;br /&gt;
First value is x1,1, &lt;br /&gt;
second value is x1,2, &lt;br /&gt;
third value is x2,1, &lt;br /&gt;
fourth value is x2,2,  &lt;br /&gt;
fifth value is x3,1 &lt;br /&gt;
and sixth value is x3,2.&lt;br /&gt;
&lt;br /&gt;
Note x1,1 can be taken as zero since the decimal value after zero, is floating point error. &lt;br /&gt;
x1,2 can be rounded upto forty five.&lt;br /&gt;
x2,1 can be rounded to fifty.&lt;br /&gt;
x2,2 and x3,1 can be rounded to zero.&lt;br /&gt;
|-&lt;br /&gt;
| Optimal-value   &lt;br /&gt;
     200.00166 &lt;br /&gt;
&lt;br /&gt;
|Optimal value is two hundred only as decimal places are only floating point errors. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Slide 17&lt;br /&gt;
Result&lt;br /&gt;
&lt;br /&gt;
|In our example, red edges denote the non zero variables in the optimal solution. &lt;br /&gt;
&lt;br /&gt;
In the optimal solution, we can transport,&lt;br /&gt;
45 tons from plant-1 to site-2 with transportation cost 2 per ton,  &lt;br /&gt;
50 tons from plant-2 to site-1 with transportation cost 1 per ton, &lt;br /&gt;
15 tons from plant-3 to site-2 with transportation cost 4 per ton. &lt;br /&gt;
&lt;br /&gt;
Other values of x are zero. So we do not transport goods on those paths. &lt;br /&gt;
&lt;br /&gt;
Thus, the minimum transportation cost to transport the goods is two hundred.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Slide 18&lt;br /&gt;
Assignment &lt;br /&gt;
&lt;br /&gt;
|Here is an assignment for you. Here we have 2 plants and 2 sites. Transporation cost is given in the table.&lt;br /&gt;
&lt;br /&gt;
   * Hint: Formulate this problem as explained in the previous example.&lt;br /&gt;
&lt;br /&gt;
   * Please solve it using Karmarkar function and verify. &lt;br /&gt;
&lt;br /&gt;
   * The optimal value should be 520. And&lt;br /&gt;
&lt;br /&gt;
   * The optimal solution  should have x1,2=60, x2,1= 100 , and all others have zero.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 19&lt;br /&gt;
Summary&lt;br /&gt;
&lt;br /&gt;
|This brings us to the end of this tutorial.  Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt:&lt;br /&gt;
   * About variables with two indices.&lt;br /&gt;
&lt;br /&gt;
   * Example of LP with two-index variables and its input parameters.&lt;br /&gt;
&lt;br /&gt;
   * We have also learn  applying Karmarkar function to solve Linear  Transportation problem in Scilab.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 20&lt;br /&gt;
FOSSEE&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
OR Tools series is created by the FOSSEE Project, IIT Bombay.&lt;br /&gt;
&lt;br /&gt;
FOSSEE stands for Free and Open Source Software for Education.&lt;br /&gt;
&lt;br /&gt;
   * This project promotes the use of free and open source software tools.&lt;br /&gt;
&lt;br /&gt;
   * For more details, please visit: http://fossee.in/&lt;br /&gt;
|-&lt;br /&gt;
|Slide 21&lt;br /&gt;
About the Spoken Tutorial Project &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
The video at this link summarises the Spoken Tutorial project. &lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|Slide 22&lt;br /&gt;
Spoken Tutorial Workshops&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
The Spoken Tutorial Project Team conducts workshops and gives certificates on passing online tests.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Slide 23&lt;br /&gt;
Acknowledgements&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
    * More information on this Mission is available at http://spoken-tutorial.org /NMEICT-Intro&lt;br /&gt;
&lt;br /&gt;
Script is created by Suraj Trivedi&lt;br /&gt;
This is Rahul Joshi from FOSSEE Project, IIT Bombay.  &lt;br /&gt;
Thank you for watching.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Surajtrivedi</name></author>	</entry>

	</feed>