<?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/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mankrits</id>
		<title>Script | Spoken-Tutorial - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mankrits"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Special:Contributions/Mankrits"/>
		<updated>2026-04-09T03:58:19Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English"/>
				<updated>2022-03-13T13:29:32Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Linear Programming, OR, fot_intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Integer Linear Programming'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use the '''fot underscore intlinprog function''' in '''Scilab.'''&lt;br /&gt;
*Solve '''Integer linear programming''' problems using '''fot underscore intlinprog function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
*'''Ubuntu 18.04'''&lt;br /&gt;
*'''Scilab 6.1.0'''&lt;br /&gt;
*'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should:&lt;br /&gt;
&lt;br /&gt;
*Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&lt;br /&gt;
*Have basic understanding of '''Scilab''' and '''optimization theory'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this website.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
*The files used in this tutorial have been provided in the '''Code files link'''.&lt;br /&gt;
*Please download and extract the files.&lt;br /&gt;
*Make a copy and then use them while practising.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''What is Integer Linear Programming ?'''&lt;br /&gt;
|'''An Integer Linear Program''' is a mathematical '''optimization model''' with:&lt;br /&gt;
&lt;br /&gt;
*'''Linear objective function'''&lt;br /&gt;
*'''Linear''' constraints&lt;br /&gt;
*Some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the '''Integer Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Minimize the given '''function''' subjected to these given constraints and bounds.&lt;br /&gt;
*Note that the '''objective function''' and constraints are '''linear.'''&lt;br /&gt;
*The '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the OK button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''OK''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_intlinprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore intlinprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘c’'''&lt;br /&gt;
| '''c''' is a '''vector''' for the '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''A''' is a '''matrix''' of '''coefficients''' of '''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘b’'''&lt;br /&gt;
| '''b''' is a '''vector''' of the right-hand side of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Aeq’'''&lt;br /&gt;
| '''Aeq''' is a '''matrix''' of '''coefficients''' of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘beq’'''&lt;br /&gt;
|&lt;br /&gt;
'''beq''' is a '''vector''' of the right-hand side of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of '''integer variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' is the '''lower bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘ub’'''&lt;br /&gt;
| '''ub''' is the '''upper bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘options’'''&lt;br /&gt;
| '''options''' is a list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output arguments&lt;br /&gt;
|Now we will see the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''xopt,''' '''fopt''', '''exitflag and output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of '''execution'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]= fot_intlinprog(c, intcon, A, b, Aeq, beq, lb, ub,options)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''Scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore intlinprog function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' Button&lt;br /&gt;
&lt;br /&gt;
Click on the '''File with Echo''' button&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop-down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the &lt;br /&gt;
'''xopt''' values,&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value,&lt;br /&gt;
&lt;br /&gt;
'''exitflag''' and&lt;br /&gt;
&lt;br /&gt;
'''output''' in the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Since this is an '''integer programming''' problem, some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Let's see an alternate way of '''pass'''ing '''input arguments''' to '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘options’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' :A '''string''' containing the path of the '''mps''' file to be read.&lt;br /&gt;
&lt;br /&gt;
'''options''': A list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Options'''&lt;br /&gt;
|&lt;br /&gt;
The '''options''' allow the user to set various '''parameters''' of the '''Optimization''' problem.&lt;br /&gt;
&lt;br /&gt;
Two such options are:&lt;br /&gt;
&lt;br /&gt;
*'''MaxTime''': The maximum amount of '''CPU''' time in seconds that the '''solver''' should take.&lt;br /&gt;
*'''MaxNodes''': The maximum number of '''nodes''' that the '''solver''' should search.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
|&lt;br /&gt;
*In the example we have '''executed''', you have seen the '''exitflag'''.&lt;br /&gt;
*This indicates the status of '''execution'''.&lt;br /&gt;
*The documentation explains what they mean for each '''function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
&lt;br /&gt;
Highlight 0&lt;br /&gt;
|&lt;br /&gt;
For '''fot underscore intlinprog''', they are explained briefly as follows:&lt;br /&gt;
&lt;br /&gt;
'''0 : Optimal Solution Found.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 1&lt;br /&gt;
| '''1 : Converged to a point of primal infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 2&lt;br /&gt;
| '''2: Solution Limit is reached.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 3&lt;br /&gt;
| '''3: Node Limit is reached. Output may not be optimal.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 4&lt;br /&gt;
| '''4 : Numerical Difficulties.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 5&lt;br /&gt;
| '''5 : Maximum amount of CPU Time exceeded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 6&lt;br /&gt;
| '''6 : Continuous Solution Unbounded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 7&lt;br /&gt;
| '''7 : Converged to a point of dual infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog''' with '''mps''' files&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''mps''' files for large '''optimization''' problems&lt;br /&gt;
*Use '''options'''.&lt;br /&gt;
*Interpret '''exitflags'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show opt_intlinprog2.sce in scilab editor.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Show '''opt_intlinprog2.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the '''toolbox''' to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' on the '''Scilab console''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intlinprog2.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''file = &amp;amp;quot;liu.mps&amp;amp;quot;;'''&lt;br /&gt;
|&lt;br /&gt;
Instead of defining the '''integer linear program''' as a series of '''vectors''' and '''matrices''', we can use it directly from a file.&lt;br /&gt;
&lt;br /&gt;
'''LIU''' is a well-known problem with '''1156 decision variables'''.&lt;br /&gt;
&lt;br /&gt;
It would take many hours to solve if we don’t add any time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''options = list('MaxNodes',[1000], 'MaxTime',[30]);'''&lt;br /&gt;
|&lt;br /&gt;
We define options to ensure that the maximum number of '''nodes''' expanded won’t exceed 1000.&lt;br /&gt;
&lt;br /&gt;
We also ensure that the time taken by the '''solver''' doesn’t exceed 30 seconds.&lt;br /&gt;
&lt;br /&gt;
Here we call '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL +S to''' save the file.&lt;br /&gt;
&lt;br /&gt;
Click on '''Execute''' button on '''Scilab'''&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''exitflag''' and '''output''' values&lt;br /&gt;
&lt;br /&gt;
Highlight the '''exitflag''' value&lt;br /&gt;
|&lt;br /&gt;
Switch to '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that '''exitflag,''' and '''output''' are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
The '''exitflag''' is 3, indicating that the '''node limit''' is reached and the '''output''' may not be optimal.&lt;br /&gt;
&lt;br /&gt;
As the '''output''' indicates, the gap is quite huge.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''fot underscore intlinprog function''' of the '''FOSSEE Optimization Toolbox'''.&lt;br /&gt;
*Solve an '''integer linear programming''' example using '''fot underscore intlinprog''' in '''Scilab'''.&lt;br /&gt;
*Use '''options''' to exert control on the '''solver'''.&lt;br /&gt;
*Read '''exitflags'''.&lt;br /&gt;
*Use '''MPS''' files as '''inputs'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
*Solve the given example&lt;br /&gt;
*The optimal value will be 7000 and optimal solution will be '''x one''' equal to 1, '''x two''' equal to 0, '''x three''' equal to 2, and '''x four''' equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| Spoken Tutorial and FOSSEE projects are funded by MoE, Government of India.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English"/>
				<updated>2022-03-13T13:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Linear Programming using fot_linprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Rupak Rokade, Siddharth Agarwal, Georgey John and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:Scilab console, FOSSEE Optimization Toolbox, Linear Programming, OR, Operations Research, fot_linprog, constraints, input, output, video tutorial.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Hello and welcome to the spoken tutorial on “'''Linear Programming''' using '''fot underscore linprog function'''”.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Solve '''linear programming''' problems using '''fot underscore linprog function''' in '''Scilab'''.&lt;br /&gt;
*Use '''fot underscore linprog function''' of '''FOSSEE Optimization Toolbox.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
*'''Ubuntu 18.04'''&lt;br /&gt;
*'''Scilab 6.1.0'''&lt;br /&gt;
*'''FOSSEE Optimization Toolbox''' version 0.4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
*Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&lt;br /&gt;
*Have basic understanding of '''Scilab''' and optimization theory&lt;br /&gt;
*If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
*The files used in this tutorial have been provided in the '''Code files''' link.&lt;br /&gt;
*Please download and extract the files.&lt;br /&gt;
*Make a copy and then use them while practising.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is Linear Programming?'''&lt;br /&gt;
|'''What is Linear Programming?'''&lt;br /&gt;
*A '''function''' is '''linear,''' if it has a degree of one or zero.&lt;br /&gt;
*A '''linear program''' is a mathematical '''optimization model''' with:&lt;br /&gt;
**'''Linear objective function'''&lt;br /&gt;
**'''Linear constraints'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the '''Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore linprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Minimize the given '''function''' subject to these given constraints and bounds.&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' and constraints are '''linear'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the '''opt_linprog.sce''' file to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| I have opened the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console,''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;gt;&amp;gt; locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the Ok button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_linprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_linprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore linprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘c’'''&lt;br /&gt;
| '''''c''''' is a '''vector''' of '''coefficients''' in the '''objective function'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|'''''A''''' is a '''matrix''' of '''coefficients''' of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|'''''b''''' is a '''vector''' of the right-hand side of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘Aeq’'''&lt;br /&gt;
| '''''‘Aeq’''''' is a '''matrix''' of '''coefficients''' of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘beq’'''&lt;br /&gt;
| '''''‘beq’''''' is a '''vector''' of the right-hand side of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘lb’'''&lt;br /&gt;
| '''''‘lb’''''' is a '''vector''' of lower bounds on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘ub’'''&lt;br /&gt;
| '''''‘ub’''''' is a '''vector''' of '''upper bounds''' on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|Now we will summarize the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''''xopt, fopt, exitflag, output,''''' '''lambda'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''''xopt''''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''''fopt''''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''''exitflag''''' denotes the status of '''execution'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''''Output''' is a'' '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
| '''Lambda''' is a '''structure''' containing '''Lagrange multipliers''' at the optimal solution.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line calling ‘'''fot_linprog’'''&lt;br /&gt;
| We will use the '''fot underscore linprog function''' to solve the example.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' from the drop-down.&lt;br /&gt;
&lt;br /&gt;
|Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on '''File with Echo''' from the dropdown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight Optimal solution&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values’&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘lambda''' values'''’'''&lt;br /&gt;
|Switch to the '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
'''Optimal solutions''' for the following are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
'''xopt''' values&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value&lt;br /&gt;
&lt;br /&gt;
'''exitflag'''&lt;br /&gt;
&lt;br /&gt;
'''output''' and&lt;br /&gt;
&lt;br /&gt;
'''lambda.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
| Now we see an alternate way of '''pass'''ing '''input arguments''' to '''fot underscore linprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘MPS’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' is a '''string''' stating the path of the '''mps file'''.&lt;br /&gt;
&lt;br /&gt;
'''MPS (Mathematical Programming System)''' is a file format.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘param’'''&lt;br /&gt;
|&lt;br /&gt;
It is used to present and archive:&lt;br /&gt;
&lt;br /&gt;
*'''linear programming''' problems and&lt;br /&gt;
*'''mixed integer programming''' problems&lt;br /&gt;
&lt;br /&gt;
'''param''' is a list containing '''parameters''' to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems I'''&lt;br /&gt;
|&lt;br /&gt;
The problem we just saw was directly solvable using '''fot underscore linprog. '''&lt;br /&gt;
&lt;br /&gt;
*There are cases when the '''optimal value''' is unbounded.&lt;br /&gt;
*The minimum value may go to '''negative infinity''' in the absence of suitable '''constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems II'''&lt;br /&gt;
|Such problems are called '''Unbounded''' problems.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Infeasible Problems'''&lt;br /&gt;
|&lt;br /&gt;
*There are instances where no solution exists for all the constraints.&lt;br /&gt;
*These problems are called '''Infeasible''' problems.&lt;br /&gt;
&lt;br /&gt;
We will see an example of these constraints on '''Scilab'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the scilab editor.&lt;br /&gt;
&lt;br /&gt;
Replace the value.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' menu&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' option&lt;br /&gt;
|&lt;br /&gt;
We will now change the previous problem to make it '''infeasible'''.&lt;br /&gt;
&lt;br /&gt;
*Locate the line that defines '''ub'''&lt;br /&gt;
*Change the second element of '''ub''' to 0&lt;br /&gt;
*Click on the '''Execute''' menu,&lt;br /&gt;
*Click on '''File with Echo''' from the drop down&lt;br /&gt;
&lt;br /&gt;
This will execute the '''Scilab code.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab Console&lt;br /&gt;
&lt;br /&gt;
Highlight the message '''Primal Infeasible'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
The '''console''' shows that the problem is '''Primal Infeasible.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|&lt;br /&gt;
This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''fot underscore linprog''' function of the '''FOSSEE Optimization Toolbox'''.&lt;br /&gt;
*Solve an '''LP''' example using '''fot underscore linprog''' in '''Scilab'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Highlight the '''constraint'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
*Solve the same example that we '''executed''', with this additional constraint.&lt;br /&gt;
*The optimal value will be -0.5714 and optimal solution will be 0.2857 and 0.8571&lt;br /&gt;
*These are the optimal values of '''x1''' and '''x2'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgment'''&lt;br /&gt;
| '''Spoken Tutorial''' and '''FOSSEE projects''' are funded by '''MoE, the Government of India'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is Mankrit Singh, a FOSSEE intern 2021, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English"/>
				<updated>2021-12-24T16:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the script''': C'''onstrained Optimisation using fot_fmincon and fot_intfmincon functions'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Constrained Optimisation, Constrained Optimisation, OR, fot_fmincon, fot_intfmincon .'''&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Constrained Optimisation.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore fmincon''' and '''fot underscore intfmincon''' functions in '''Scilab'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve constrained '''optimisation''' problems using '''fot underscore fmincon''' and '''fot underscore intfmincon'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of '''optimization''' and '''Scilab'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial are provided in the '''Code files''' link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is the Constrained Optimisation problem?'''&lt;br /&gt;
|A constrained nonlinear '''optimisation''' problem is a mathematical '''optimisation model.'''&lt;br /&gt;
&lt;br /&gt;
It has:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;A linear or nonlinear''' objective function'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Bounds''' on the '''decision variables'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Linear and nonlinear constraints on '''decision variables'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
&lt;br /&gt;
'''where f , A, b, Aeq, beq, c,'''&lt;br /&gt;
&lt;br /&gt;
'''ceq, lb, and ub are given.'''&lt;br /&gt;
| A general form of constrained nonlinear '''optimisation''' problem is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore fmincon.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given '''function'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' is nonlinear.&lt;br /&gt;
&lt;br /&gt;
The example has 4 '''variables x1, x2, x3''' and '''x4'''.&lt;br /&gt;
&lt;br /&gt;
There are '''bounds''' on the '''variables''', but no constraints otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Open the '''Scilab''' window &amp;gt;&amp;gt; place the cursor on the '''Scilab console'''.&lt;br /&gt;
| Now open the '''Scilab console.'''&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on '''File''' &amp;amp;gt;&amp;amp;gt; '''Open''' button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_fmincon .sce'''.&lt;br /&gt;
&lt;br /&gt;
Video-editor: Pls put a textbox on screen. “In Windows OS ,Click on Open button”&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_fmincon.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_fmincon.sce''' file opens in the '''editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_fmincon .sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore fmincon.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘f’'''&lt;br /&gt;
| '''f''' is the '''objective function''' that has to be minimized.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘x0’'''&lt;br /&gt;
| '''x0''' is a '''vector''' with the initial values of the '''decision variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of linear inequality constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|&lt;br /&gt;
'''''b''''' is a '''vector''' of the right-hand side of linear inequality constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’''' and '''ub'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' and '''ub''' are the row vectors.&lt;br /&gt;
&lt;br /&gt;
They contain the lower and upper '''bounds''' of the '''decision variables''' respectively.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Nonlinearcon’'''&lt;br /&gt;
|&lt;br /&gt;
'''‘Nonlinearcon’''' is a '''Scilab function'''.&lt;br /&gt;
&lt;br /&gt;
It represents the equality and inequality nonlinear constraints for the problem.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output Arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''xopt, fopt, exitflag, output, lambda, gradient, hessian.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of '''execution'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''Output''' is a '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
|&lt;br /&gt;
'''Lambda''' is a structure containing the following:&lt;br /&gt;
&lt;br /&gt;
'''Lagrange multipliers''' of the lower '''bounds''' and upper '''bounds'''.&lt;br /&gt;
&lt;br /&gt;
Linear equality and inequality constraints at the '''optimized''' point.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘gradient’'''&lt;br /&gt;
| '''Gradient''' is a '''vector''' containing the '''objective''''s '''gradient''' of the solution.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘hessian’'''&lt;br /&gt;
| '''Hessian''' is a '''matrix''' containing the '''Hessian''' of '''Lagrangian''' at the solution.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output, lambda,gradient, hessian] = fot_fmincon(ObjectiveFunction,x0,A,b,[],[],lb,ub,Nonlinearcon)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''Scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore fmincon function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on '''execute''' button on '''scilab'''&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo'''&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click Yes to confirm.&lt;br /&gt;
|&lt;br /&gt;
A confirmation box to clear the '''Console''' appears.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Yes''' button to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to '''Scilab console'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''fopt''' value, '''xopt''' value, '''exitflag, output, lambda, gradient,''' and '''hessian''' on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
We will now close the '''Scilab editor''' window.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Integer Constraints'''&lt;br /&gt;
|&lt;br /&gt;
We will now look at constrained '''integer''' nonlinear '''programming''' problems.&lt;br /&gt;
&lt;br /&gt;
These are problems in which some '''decision variables''' are constrained to be '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the constrained integer '''optimisation''' problem is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intfmincon'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will demonstrate how to minimize the given '''function'''.&lt;br /&gt;
&lt;br /&gt;
Note that some of the '''decision variables''' are constrained to be '''integers'''.&lt;br /&gt;
&lt;br /&gt;
Let’s use the previous example with added '''integer''' constraints on the '''variables x1''' and '''x2.'''&lt;br /&gt;
&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intfmincon.sce''' in '''Scilab editor.'''&lt;br /&gt;
|&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type editor on the '''Scilab console''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intfmincon.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| Show opt_intfmincon.sce in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We have the same '''input arguments''' that we had in '''opt_fmincon.sce'''.&lt;br /&gt;
&lt;br /&gt;
'''f,x0,A,b,lb,ub''' and '''Nonlinearcon'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Along with them we have an additional '''input argument''' called as '''intcon.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of '''integer variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output Arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
We have the same '''output arguments''' that we had in '''opt_fmincon.sce'''&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''xopt, fopt, exitflag, gradient, hessian'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''[xopt,fopt,exitflag,gradient,hessian] = fot_intfmincon(ObjectiveFunction,x0,int,A,b,[],[],lb,ub,Nonlinearcon)'''&lt;br /&gt;
| This is how we call '''fot underscore intfmincon function.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on '''scilab'''&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click '''Yes''' to confirm.&lt;br /&gt;
|&lt;br /&gt;
A confirmation box to clear the '''Console''' appears.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Yes''' button to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to '''Scilab console'''&lt;br /&gt;
| Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Outputs&lt;br /&gt;
| We see that it prints the '''fopt''' value, '''xopt''' values, '''exitflag, output, lambda, gradient,''' and '''hessian''' in the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore fmincon''' and '''fot underscore intfmincon''' functions of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve constrained nonlinear '''programming''' examples in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimise the following '''objective function''' subject to the given constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be 75728.822 and optimal solution will be '''x one''' equal to 3.1692029 and '''x two''' equal to 6.3384058&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| '''Spoken Tutorial''' and FOSSEE projects are funded by '''MoE, Government of India.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English"/>
				<updated>2021-12-20T10:52:09Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Linear Programming, OR, fot_intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Integer Linear Programming'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use the '''fot underscore intlinprog function''' in '''Scilab.'''&lt;br /&gt;
*Solve '''Integer linear programming''' problems using '''fot underscore intlinprog function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
*'''Ubuntu 18.04'''&lt;br /&gt;
*'''Scilab 6.1.0'''&lt;br /&gt;
*'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should:&lt;br /&gt;
&lt;br /&gt;
*Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&lt;br /&gt;
*Have basic understanding of '''Scilab''' and '''optimization theory'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
*The files used in this tutorial have been provided in the '''Code files link'''.&lt;br /&gt;
*Please download and extract the files.&lt;br /&gt;
*Make a copy and then use them while practising.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''What is Integer Linear Programming ?'''&lt;br /&gt;
|'''An Integer Linear Program''' is a mathematical '''optimization model''' with:&lt;br /&gt;
&lt;br /&gt;
*'''Linear objective function'''&lt;br /&gt;
*'''Linear''' constraints&lt;br /&gt;
*Some '''decision variables''' as '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the '''Integer Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Minimize the given '''function''' subjected to these given constraints and bounds.&lt;br /&gt;
*Note that the '''objective function''' and constraints are '''linear.'''&lt;br /&gt;
*The '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the OK button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''OK''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_intlinprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore intlinprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘c’'''&lt;br /&gt;
| '''c''' is a '''vector''' for the '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''A''' is a '''matrix''' of '''coefficients''' of '''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘b’'''&lt;br /&gt;
| '''b''' is a '''vector''' of the right-hand side of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Aeq’'''&lt;br /&gt;
| '''Aeq''' is a '''matrix''' of '''coefficients''' of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘beq’'''&lt;br /&gt;
|&lt;br /&gt;
'''beq''' is a '''vector''' of the right-hand side of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of '''integer variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' is the '''lower bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘ub’'''&lt;br /&gt;
| '''ub''' is the '''upper bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘options’'''&lt;br /&gt;
| '''options''' is a list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output arguments&lt;br /&gt;
|Now we will see the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''xopt,''' '''fopt''', '''exitflag, output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of '''execution'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]= fot_intlinprog(c, intcon, A, b, Aeq, beq, lb, ub,options)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''Scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore intlinprog function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' Button&lt;br /&gt;
&lt;br /&gt;
Click on the '''File with Echo''' button&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop-down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the &lt;br /&gt;
'''xopt''' values,&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value,&lt;br /&gt;
&lt;br /&gt;
'''exitflag''' and&lt;br /&gt;
&lt;br /&gt;
'''output''' in the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Since this is an '''integer programming''' problem, some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Let's see an alternate way of '''pass'''ing '''input arguments''' to '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘options’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' :A '''string''' containing the path of the '''mps''' file to be read.&lt;br /&gt;
&lt;br /&gt;
'''options''': A list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Options'''&lt;br /&gt;
|&lt;br /&gt;
The '''options''' allow the user to set various '''parameters''' of the '''Optimization''' problem.&lt;br /&gt;
&lt;br /&gt;
Two such options are:&lt;br /&gt;
&lt;br /&gt;
*'''MaxTime''': The maximum amount of '''CPU''' time in seconds that the '''solver''' should take.&lt;br /&gt;
*'''MaxNodes''': The maximum number of '''nodes''' that the '''solver''' should search.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
|&lt;br /&gt;
*In the example we have '''executed''', you have seen the '''exitflag'''.&lt;br /&gt;
*This indicates the status of '''execution'''.&lt;br /&gt;
*The documentation explains what they mean for each '''function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
&lt;br /&gt;
Highlight 0&lt;br /&gt;
|&lt;br /&gt;
For '''fot underscore intlinprog''', they are explained briefly as follows:&lt;br /&gt;
&lt;br /&gt;
'''0 : Optimal Solution Found.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 1&lt;br /&gt;
| '''1 : Converged to a point of primal infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 2&lt;br /&gt;
| '''2: Solution Limit is reached.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 3&lt;br /&gt;
| '''3: Node Limit is reached. Output may not be optimal.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 4&lt;br /&gt;
| '''4 : Numerical Difficulties.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 5&lt;br /&gt;
| '''5 : Maximum amount of CPU Time exceeded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 6&lt;br /&gt;
| '''6 : Continuous Solution Unbounded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 7&lt;br /&gt;
| '''7 : Converged to a point of dual infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog''' with '''mps''' files&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''mps''' files for large '''optimization''' problems&lt;br /&gt;
*Use '''options'''.&lt;br /&gt;
*Interpret '''exitflags'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show opt_intlinprog2.sce in scilab editor.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Show '''opt_intlinprog2.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the '''toolbox''' to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' on the '''Scilab console''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intlinprog2.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''file = &amp;amp;quot;liu.mps&amp;amp;quot;;'''&lt;br /&gt;
|&lt;br /&gt;
Instead of defining the '''integer linear program''' as a series of '''vectors''' and '''matrices''', we can use it directly from a file.&lt;br /&gt;
&lt;br /&gt;
'''LIU''' is a well-known problem with '''1156 decision variables'''.&lt;br /&gt;
&lt;br /&gt;
It would take many hours to solve if we don’t add any time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''options = list('MaxNodes',[1000], 'MaxTime',[30]);'''&lt;br /&gt;
|&lt;br /&gt;
We define options to ensure that the maximum number of '''nodes''' expanded won’t exceed 1000.&lt;br /&gt;
&lt;br /&gt;
We also ensure that the time taken by the '''solver''' doesn’t exceed 30 seconds.&lt;br /&gt;
&lt;br /&gt;
Here we call '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL +S to''' save the file.&lt;br /&gt;
&lt;br /&gt;
Click on '''Execute''' button on '''Scilab'''&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''exitflag''' and '''output''' values&lt;br /&gt;
&lt;br /&gt;
Highlight the '''exitflag''' value&lt;br /&gt;
|&lt;br /&gt;
Switch to '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that '''exitflag,''' and '''output''' are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
The '''exitflag''' is 3, indicating that the '''node limit''' is reached and the '''output''' may not be optimal.&lt;br /&gt;
&lt;br /&gt;
As the '''output''' indicates, the gap is quite huge.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''fot underscore intlinprog function''' to of the '''FOSSEE Optimization Toolbox'''.&lt;br /&gt;
*Solve an '''integer linear programming''' example using '''fot underscore intlinprog''' in '''Scilab'''.&lt;br /&gt;
*Use '''options''' to exert control on the '''solver'''.&lt;br /&gt;
*Read '''exitflags'''.&lt;br /&gt;
*Use '''MPS''' files as '''inputs'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
*Solve the given example&lt;br /&gt;
*The optimal value will be 7000 and optimal solution will be '''x one''' equal to 1, '''x two''' equal to 0, '''x three''' equal to 2, and '''x four''' equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| Spoken Tutorial and FOSSEE projects are funded by MoE, Government of India.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English"/>
				<updated>2021-12-20T10:38:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Linear Programming, OR, fot_intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Integer Linear Programming'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use the '''fot underscore intlinprog function''' in '''Scilab.'''&lt;br /&gt;
*Solve '''Integer linear programming''' problems using '''fot underscore intlinprog function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
*'''Ubuntu 18.04'''&lt;br /&gt;
*'''Scilab 6.1.0'''&lt;br /&gt;
*'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should:&lt;br /&gt;
&lt;br /&gt;
*Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&lt;br /&gt;
*Have basic understanding of '''Scilab''' and '''optimization theory'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
*The files used in this tutorial have been provided in the '''Code files link'''.&lt;br /&gt;
*Please download and extract the files.&lt;br /&gt;
*Make a copy and then use them while practising.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''What is Integer Linear Programming ?'''&lt;br /&gt;
|'''An Integer Linear Program''' is a mathematical '''optimization model''' with:&lt;br /&gt;
&lt;br /&gt;
*'''Linear objective function'''&lt;br /&gt;
*'''Linear''' constraints&lt;br /&gt;
*Some '''decision variables''' as '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the '''Integer Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Minimize the given '''function''' subjected to these given constraints and bounds.&lt;br /&gt;
*Note that the '''objective function''' and constraints are '''linear.'''&lt;br /&gt;
*The '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the OK button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''OK''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_intlinprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore intlinprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘c’'''&lt;br /&gt;
| '''c''' is a '''vector''' for the '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''A''' is a '''matrix''' of '''coefficients''' of '''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘b’'''&lt;br /&gt;
| '''b''' is a '''vector''' of the right-hand side of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Aeq’'''&lt;br /&gt;
| '''Aeq''' is a '''matrix''' of '''coefficients''' of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘beq’'''&lt;br /&gt;
|&lt;br /&gt;
'''beq''' is a '''vector''' of the right-hand side of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of '''integer variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' is the '''lower bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘ub’'''&lt;br /&gt;
| '''ub''' is the '''upper bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘options’'''&lt;br /&gt;
| '''options''' is a list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output arguments&lt;br /&gt;
|Now we will see the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''xopt,''' '''fopt''', '''exitflag, output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of '''execution'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]= fot_intlinprog(c, intcon, A, b, Aeq, beq, lb, ub,options)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''Scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore intlinprog function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' Button&lt;br /&gt;
&lt;br /&gt;
Click on the '''File with Echo''' button&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop-down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the &lt;br /&gt;
'''xopt''' values,&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value,&lt;br /&gt;
&lt;br /&gt;
'''exitflag''' and&lt;br /&gt;
&lt;br /&gt;
'''output''' in the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Since this is an '''integer programming''' problem, some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Let's see an alternate way of '''pass'''ing '''input arguments''' to '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘options’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' :A '''string''' containing the path of the '''mps''' file to be read.&lt;br /&gt;
&lt;br /&gt;
'''options''': A list containing the '''parameters''' of the '''solver''' that is to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Options'''&lt;br /&gt;
|&lt;br /&gt;
The '''options''' allow the user to set various '''parameters''' of the '''Optimization''' problem.&lt;br /&gt;
&lt;br /&gt;
Two such options are:&lt;br /&gt;
&lt;br /&gt;
*'''MaxTime''': The maximum amount of '''CPU''' time in seconds that the '''solver''' should take.&lt;br /&gt;
*'''MaxNodes''': The maximum number of '''nodes''' that the '''solver''' should search.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
|&lt;br /&gt;
*In the example we have '''executed''', you have seen the '''exitflag'''.&lt;br /&gt;
*This indicates the status of '''execution'''.&lt;br /&gt;
*The documentation explains what they mean for each '''function'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
&lt;br /&gt;
Highlight 0&lt;br /&gt;
|&lt;br /&gt;
For '''fot underscore intlinprog''', they are explained briefly as follows:&lt;br /&gt;
&lt;br /&gt;
'''0 : Optimal Solution Found.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 1&lt;br /&gt;
| '''1 : Converged to a point of primal infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 2&lt;br /&gt;
| '''2: Solution Limit is reached.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 3&lt;br /&gt;
| '''3: Node Limit is reached. Output may not be optimal.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 4&lt;br /&gt;
| '''4 : Numerical Difficulties.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 5&lt;br /&gt;
| '''5 : Maximum amount of CPU Time exceeded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 6&lt;br /&gt;
| '''6 : Continuous Solution Unbounded.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 7&lt;br /&gt;
| '''7 : Converged to a point of dual infeasibility.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog''' with '''mps''' files&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''mps''' files for large '''optimization''' problems&lt;br /&gt;
*Use '''options'''.&lt;br /&gt;
*Interpret '''exitflags'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show opt_intlinprog2.sce in scilab editor.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Show '''opt_intlinprog2.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the '''toolbox''' to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' on the '''Scilab console''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intlinprog2.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''file = &amp;amp;quot;liu.mps&amp;amp;quot;;'''&lt;br /&gt;
|&lt;br /&gt;
Instead of defining the '''integer linear program''' as a series of '''vectors''' and '''matrices''', we can use it directly from a file.&lt;br /&gt;
&lt;br /&gt;
'''LIU''' is a well-known problem with '''1156 decision variables'''.&lt;br /&gt;
&lt;br /&gt;
It would take many hours to solve if we don’t add any time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''options = list('MaxNodes',[1000], 'MaxTime',[30]);'''&lt;br /&gt;
|&lt;br /&gt;
We define options to ensure that the maximum number of '''nodes''' expanded won’t exceed 1000.&lt;br /&gt;
&lt;br /&gt;
We also ensure that the time taken by the '''solver''' doesn’t exceed 30 seconds.&lt;br /&gt;
&lt;br /&gt;
Here we call '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL +S to''' save the file.&lt;br /&gt;
&lt;br /&gt;
Click on '''Execute''' button on '''Scilab'''&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute menu'''.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''exitflag''' and '''output''' values&lt;br /&gt;
&lt;br /&gt;
Highlight the '''exitflag''' value&lt;br /&gt;
|&lt;br /&gt;
Switch to '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
We see that '''exitflag,''' and '''output''' are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
The '''exitflag''' is 3, indicating that the '''node limit''' is reached and the '''output''' may not be optimal.&lt;br /&gt;
&lt;br /&gt;
As the '''output''' indicates, the gap is quite huge.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''fot underscore intlinprog function'''to of the '''FOSSEE Optimization Toolbox'''.&lt;br /&gt;
*Solve an '''integer linear programming''' example using '''fot underscore intlinprog''' in '''Scilab'''.&lt;br /&gt;
*Use '''options''' to exert control on the '''solver'''.&lt;br /&gt;
*Read '''exitflags'''.&lt;br /&gt;
*Use '''MPS''' files as '''inputs'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
*Solve the given example&lt;br /&gt;
*The optimal value will be 7000 and optimal solution will be '''x one''' equal to 1, '''x two''' equal to 0, '''x three''' equal to 2, and '''x four''' equal to 0.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| Spoken Tutorial and FOSSEE projects are funded by MoE, Government of India.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English"/>
				<updated>2021-12-20T10:28:05Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Linear Programming using fot_linprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Rupak Rokade, Siddharth Agarwal, Georgey John and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:Scilab console, FOSSEE Optimization Toolbox, Linear Programming, OR, Operations Research, fot_linprog, constraints, input, output, video tutorial.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Hello and welcome to the spoken tutorial on “'''Linear Programming''' using '''fot underscore linprog function'''”.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Solve '''linear programming''' problems using '''fot underscore linprog function''' in '''Scilab'''.&lt;br /&gt;
*Use '''fot underscore linprog function''' of '''FOSSEE Optimization Toolbox.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
*'''Ubuntu 18.04'''&lt;br /&gt;
*'''Scilab 6.1.0'''&lt;br /&gt;
*'''FOSSEE Optimization Toolbox''' version 0.4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
*Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&lt;br /&gt;
*Have basic understanding of '''Scilab''' and optimization theory&lt;br /&gt;
*If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
*The files used in this tutorial have been provided in the '''Code files''' link.&lt;br /&gt;
*Please download and extract the files.&lt;br /&gt;
*Make a copy and then use them while practising.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is Linear Programming?'''&lt;br /&gt;
|'''What is Linear Programming?'''&lt;br /&gt;
*A '''function''' is '''linear,''' if it has a degree of one or zero.&lt;br /&gt;
*A '''linear program''' is a mathematical '''optimization model''' with:&lt;br /&gt;
**'''Linear objective function'''&lt;br /&gt;
**'''Linear constraints'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A general form of the '''Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore linprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
*Minimize the given '''function''' subject to these given constraints and bounds.&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' and constraints are '''linear'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the '''opt_linprog.sce''' file to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| I have opened the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console,''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;gt;&amp;gt; locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the Ok button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the '''toolbar''' and locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_linprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_linprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the '''input arguments''' for '''fot underscore linprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘c’'''&lt;br /&gt;
| '''''c''''' is a '''vector''' of '''coefficients''' in the '''objective function'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|'''''A''''' is a '''matrix''' of '''coefficients''' of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|'''''b''''' is a '''vector''' of the right-hand side of '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘Aeq’'''&lt;br /&gt;
| '''''‘Aeq’''''' is a '''matrix''' of '''coefficients''' of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘beq’'''&lt;br /&gt;
| '''''‘beq’''''' is a '''vector''' of the right-hand side of '''equality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘lb’'''&lt;br /&gt;
| '''''‘lb’''''' is a '''vector''' of lower bounds on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘ub’'''&lt;br /&gt;
| '''''‘ub’''''' is a '''vector''' of '''upper bounds''' on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|Now we will summarize the '''output arguments'''.&lt;br /&gt;
&lt;br /&gt;
'''Output arguments''' are '''''xopt, fopt, exitflag, output,''''' '''lambda'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''''xopt''''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''''fopt''''' is the optimal '''objective function''' value.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''''exitflag''''' denotes the status of '''execution'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''''Output''' is a'' '''structure''' containing detailed information about the '''optimization'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
| '''Lambda''' is a '''structure''' containing '''Lagrange multipliers''' at the optimal solution.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line calling ‘'''fot_linprog’'''&lt;br /&gt;
| We will use the '''fot underscore linprog function''' to solve the example.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' from the drop-down.&lt;br /&gt;
&lt;br /&gt;
|Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on '''File with Echo''' from the dropdown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight Optimal solution&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values’&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘lambda''' values'''’'''&lt;br /&gt;
|Switch to the '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
'''Optimal solutions''' for the following are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
'''xopt''' values&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value&lt;br /&gt;
&lt;br /&gt;
'''exitflag'''&lt;br /&gt;
&lt;br /&gt;
'''output''' and&lt;br /&gt;
&lt;br /&gt;
'''lambda.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
| Now we see an alternate way of '''pass'''ing '''input arguments''' to '''fot underscore linprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘MPS’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' is a '''string''' stating the path of the '''mps file'''.&lt;br /&gt;
&lt;br /&gt;
'''MPS (Mathematical Programming System)''' is a file format.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘param’'''&lt;br /&gt;
|&lt;br /&gt;
It is used to present and archive:&lt;br /&gt;
&lt;br /&gt;
*'''linear programming''' problems and&lt;br /&gt;
*'''mixed integer programming''' problems&lt;br /&gt;
&lt;br /&gt;
'''param''' is a list containing '''parameters''' to be '''set'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems I'''&lt;br /&gt;
|&lt;br /&gt;
The problem we just saw was directly solvable using '''fot underscore linprog. '''&lt;br /&gt;
&lt;br /&gt;
*There are cases when the '''optimal value''' is unbounded.&lt;br /&gt;
*The minimum value may go to '''negative infinity''' in the absence of suitable '''constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems II'''&lt;br /&gt;
|Such problems are called '''Unbounded''' problems.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Infeasible Problems'''&lt;br /&gt;
|&lt;br /&gt;
*There are instances where no solution exists for all the constraints.&lt;br /&gt;
*These problems are called '''Infeasible''' problems.&lt;br /&gt;
&lt;br /&gt;
We will see an example of these&lt;br /&gt;
&lt;br /&gt;
constraints on '''Scilab'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the scilab editor.&lt;br /&gt;
&lt;br /&gt;
Replace the value.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' menu&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' option&lt;br /&gt;
|&lt;br /&gt;
We will now change the previous problem to make it '''infeasible'''.&lt;br /&gt;
&lt;br /&gt;
*Locate the line that defines '''ub'''&lt;br /&gt;
*Change the second element of '''ub''' to 0&lt;br /&gt;
*Click on the '''Execute''' menu,&lt;br /&gt;
*Click on '''File with Echo''' from the drop down&lt;br /&gt;
&lt;br /&gt;
This will execute the '''Scilab code.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab Console&lt;br /&gt;
&lt;br /&gt;
Highlight the message '''Primal Infeasible'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the '''output'''.&lt;br /&gt;
&lt;br /&gt;
The '''console''' shows that the problem is '''Primal Infeasible.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|&lt;br /&gt;
This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt how to:&lt;br /&gt;
&lt;br /&gt;
*Use '''fot underscore linprog''' function of the '''FOSSEE Optimization Toolbox'''.&lt;br /&gt;
*Solve an '''LP''' example using '''fot underscore linprog''' in '''Scilab'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Highlight the '''constraint'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
*Solve the same example that we '''executed''', with this additional constraint.&lt;br /&gt;
*The optimal value will be -0.5714 and optimal solution will be 0.2857 and 0.8571&lt;br /&gt;
*These are the optimal values of '''x1''' and '''x2'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgment'''&lt;br /&gt;
| '''Spoken Tutorial''' and '''FOSSEE projects''' are funded by '''MoE, the Government of India'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is Mankrit Singh, a FOSSEE intern 2021, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Constrained-Optimisation-using-FOT/English"/>
				<updated>2021-11-06T11:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: Created page with &amp;quot;'''Title of the script''': C'''onstrained Optimisation using fot_fmincon and fot_intfmincon functions'''  '''Author: Siddharth Agarwal and Mankrit Singh'''  '''Keywords: FOSSE...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the script''': C'''onstrained Optimisation using fot_fmincon and fot_intfmincon functions'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Constrained Optimisation, Constrained Optimisation, OR, fot_fmincon, fot_intfmincon .'''&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Constrained Optimisation.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore fmincon''' and '''fot underscore intfmincon''' functions in '''Scilab'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve C'''onstrained Optimisation''' problems using '''fot underscore fmincon''' and '''fot underscore intfmincon'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of optimization and Scilab&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial are provided in the '''Code files''' link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is the Constrained Optimisation problem?'''&lt;br /&gt;
|&lt;br /&gt;
'''A Constrained Nonlinear Optimisation Problem''' is a mathematical optimisation model.&lt;br /&gt;
&lt;br /&gt;
It has:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''A Linear or nonlinear''' objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Bounds''' on the '''decision variables'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' and '''Nonlinear constraints'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;on '''decision variables'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
&lt;br /&gt;
'''where f , A, b, Aeq, beq, c,'''&lt;br /&gt;
&lt;br /&gt;
'''ceq, lb, and ub are given.'''&lt;br /&gt;
| A '''general form''' of '''Constrained Nonlinear Optimisation problem''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore fmincon.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' is '''nonlinear'''&lt;br /&gt;
&lt;br /&gt;
The Example has 4 variables x1, x2, x3 and x4.&lt;br /&gt;
&lt;br /&gt;
There are bounds on the variables, but no constraints otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Open the '''Scilab window''' and place the cursor on the '''Scilab console'''.&lt;br /&gt;
| Now open the '''Scilab console.'''&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on '''File''' &amp;amp;gt;&amp;amp;gt; '''Open''' button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_fmincon .sce'''.&lt;br /&gt;
&lt;br /&gt;
Video-editor: Pls put a textbox on screen. “In Windows OS ,Click on Open button”&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the toolbar and locate the file '''opt_fmincon.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_fmincon.sce''' file opens in the '''editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_fmincon .sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore fmincon.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘f’'''&lt;br /&gt;
| '''f''' is the '''objective function''' that has to be minimized.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘x0’'''&lt;br /&gt;
| '''x0''' is a vector with the initial values of the decision variables.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''linear inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|&lt;br /&gt;
'''''b''''' is a '''vector''' of the right-hand side&lt;br /&gt;
&lt;br /&gt;
of linear '''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’''' and '''ub'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' and '''ub''' are the row vectors.&lt;br /&gt;
&lt;br /&gt;
They contain the lower and upper bounds of the decision variables respectively.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Nonlinearcon’'''&lt;br /&gt;
|&lt;br /&gt;
'''‘Nonlinearcon’''' is a scilab function.&lt;br /&gt;
&lt;br /&gt;
It represents the equality and inequality nonlinear constraints for the problem.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output Arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, output, lambda, gradient, hessian.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''Output''' is a '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
|&lt;br /&gt;
'''Lambda''' is a structure containing the following:&lt;br /&gt;
&lt;br /&gt;
'''Lagrange multipliers''' of the lower bounds and upper bounds.&lt;br /&gt;
&lt;br /&gt;
Linear equality and inequality constraints at the optimized point.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘gradient’'''&lt;br /&gt;
| '''Gradient''' is a '''vector''' containing the '''objective''''s '''gradient''' of the solution.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘hessian’'''&lt;br /&gt;
| '''Hessian''' is a '''matrix''' containing the '''Hessian''' of '''Lagrangian''' at the solution.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output, lambda,gradient, hessian] = fot_fmincon(ObjectiveFunction,x0,A,b,[],[],lb,ub,Nonlinearcon)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore fmincon function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on '''execute''' button on '''scilab'''&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo'''&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click Yes to confirm.&lt;br /&gt;
|&lt;br /&gt;
A confirmation box to clear the Console appears.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Yes''' button to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to '''Scilab console'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''fopt''' value, '''xopt''' values, '''exitflag, output, lambda, gradient,''' and '''hessian''' on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
We will now close the '''Scilab editor''' window.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Integer Constraints'''&lt;br /&gt;
|&lt;br /&gt;
We will now look at '''constrained integer nonlinear programming''' problems.&lt;br /&gt;
&lt;br /&gt;
These are problems in which some decision variables are constrained to be integers.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''constrained integer optimisation problem''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intfmincon'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will demonstrate how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that some of the '''decision variables''' are '''constrained''' to be integers.&lt;br /&gt;
&lt;br /&gt;
Let’s use the previous example with added integer constraints on the variables '''x1''' and '''x2.'''&lt;br /&gt;
&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intfmincon.sce''' in '''scilab editor.'''&lt;br /&gt;
|&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type editor on the Scilab console and Press enter.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intfmincon.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| Show opt_intfmincon.sce in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We have the same input arguments that we had in opt_fmincon.sce.&lt;br /&gt;
&lt;br /&gt;
'''f,x0,A,b,lb,ub''' and '''Nonlinearcon'''&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Along with them we have an additional input argument called as '''intcon.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of integer variables&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output Arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
We have the same output arguments that we had in '''opt_fmincon.sce'''&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, gradient, hessian'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''[xopt,fopt,exitflag,gradient,hessian] = fot_intfmincon(ObjectiveFunction,x0,int,A,b,[],[],lb,ub,Nonlinearcon)'''&lt;br /&gt;
| This is how we call '''fot underscore intfmincon function.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on '''scilab'''&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click '''Yes''' to confirm.&lt;br /&gt;
|&lt;br /&gt;
A confirmation box to clear the '''Console''' appears.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Yes''' button to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to '''Scilab console'''&lt;br /&gt;
| Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Outputs&lt;br /&gt;
| We see that it prints the '''fopt''' value, '''xopt''' values, '''exitflag, output, lambda, gradient,''' and '''hessian''' in the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore fmincon''' and '''fot underscore intfmincon''' functions of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve '''constrained nonlinear''' programming examples in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimise the following objective function subject to the given constraints:&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be 75728.822 and optimal solution will be x '''one''' equal to 3.1692029 and x '''two''' equal to 6.3384058&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| '''Spoken Tutorial''' and FOSSEE projects are funded by '''MoE, Government of India.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Quadratic-Optimisation-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Quadratic-Optimisation-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Quadratic-Optimisation-using-FOT/English"/>
				<updated>2021-11-01T07:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: Created page with &amp;quot;'''Title of the script''': '''Quadratic Optimization'''  '''Author: Siddharth Agarwal and Mankrit Singh'''  '''Keywords: FOSSEE Optimization Toolbox, Integer Quadratic optimiz...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the script''': '''Quadratic Optimization'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Quadratic optimization, Quadratic optimization, OR, quadprog, intquadprog .'''&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Hello and welcome to the Spoken tutorial on '''Quadratic optimization.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore quadprog''' and '''fot underscore intquadprog''' functions in '''Scilab'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve quadratic '''optimization''' problems using, '''fot underscore quadprog''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''fot underscore intquadprog functions'''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System Requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of Scilab and optimization theory&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;If not, for relevant tutorials please visit this site.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial have been provided in the '''Code files''' link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is the Quadratic optimization problem?'''&lt;br /&gt;
|&lt;br /&gt;
A function is quadratic if it has a degree of two.&lt;br /&gt;
&lt;br /&gt;
A '''quadratic optimization problem''' is a mathematical optimization model.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is the Quadratic optimization problem?'''&lt;br /&gt;
|&lt;br /&gt;
It has:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Quadratic objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Bounds on the decision variables&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Linear constraints on decision variables&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''quadratic optimization problem''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore quadprog'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' is '''quadratic.'''&lt;br /&gt;
&lt;br /&gt;
Note that there are bounds and linear constraints on the variables.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
&lt;br /&gt;
I have downloaded the required files to my '''Downloads''' folder&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Point to the '''editor''' window.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_quadprog .sce'''.&lt;br /&gt;
&lt;br /&gt;
Video-editor: Pls put a textbox on screen. “In Windows OS ,Click on Open button”&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the toolbar and locate the file '''opt_quadprog .sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_quadprog.sce''' file opens in the '''editor'''&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_quadprog .sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore quadprog.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘nbVar’'''&lt;br /&gt;
| '''nbVar''' is an integer denoting the number of '''decision variables'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘nbCon’'''&lt;br /&gt;
| '''‘nbCon’''' is an integer denoting the number of '''constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘H’'''&lt;br /&gt;
| '''H''' is a '''symmetric matrix,''' representing the '''Hessian''' of the '''quadratic''' problem'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘f’'''&lt;br /&gt;
| '''f''' is a '''vector,''' representing coefficients of the '''linear terms''' in the '''quadratic''' problem'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘x0’'''&lt;br /&gt;
| '''x0''' is a vector containing the starting values of the decision variables.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘conUB’'''&lt;br /&gt;
| '''conUB''' is the '''vector''' of the '''upper bounds''' of the '''constraints.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘conLB’'''&lt;br /&gt;
| '''conLB''' is the '''vector''' of the '''lower bounds''' of the '''constraints.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''lb''' and '''ub'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' and '''ub''' are row vectors.&lt;br /&gt;
&lt;br /&gt;
They contain the lower and upper bounds of the decision variables respectively.&lt;br /&gt;
|-&lt;br /&gt;
| Point to the Output arguments.&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, output and lambda.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of execution.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''lambda'''&lt;br /&gt;
| '''lambda''' is a structure containing the '''Lagrange multipliers''' at the '''optimal solution.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output,lambda]=fot_quadprog(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore quadprog function''' to solve the given problem.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
Click on the Execute button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select file with echo from the drop-down.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on the '''fil'''e '''with echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click Yes to confirm.&lt;br /&gt;
|&lt;br /&gt;
A confirmation box to clear the '''Console''' appears.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Yes''' button to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to Scilab console&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
The result displays “'''Optimal Solution Found.”'''&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''fopt''' value, '''xopt''' values, '''exitflag, output, and lambda''' in the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Integer Quadratic Programming'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;We will now look at '''integer quadratic programming''' problems.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;These are problems where some decision variables are constrained to be integers.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''integer constrained''' '''quadratic optimization problem''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intquadprog'''.&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' is '''quadratic.'''&lt;br /&gt;
&lt;br /&gt;
Note that some of the '''decision variables''' are '''constrained''' to be '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intquadprog.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' on the Scilab console and Press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intquadprog.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘H’'''&lt;br /&gt;
| '''H''' is a '''symmetric matrix,''' representing the '''Hessian''' of the '''quadratic''' problem'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘f’'''&lt;br /&gt;
| '''f''' is a '''vector,''' representing coefficients of the '''linear terms''' in the '''quadratic''' problem'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''b'''&lt;br /&gt;
| '''b''' is the '''vector''' of the RHS of the '''inequality constraints '''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''Aeq'''&lt;br /&gt;
| '''Aeq''' is the '''matrix''' of the LHS of the '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''beq'''&lt;br /&gt;
| '''beq''' is the '''vector''' of the RHS of the '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of integer variables&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''output'''&lt;br /&gt;
| '''Output''' is a '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]=fot_intquadprog(H,f,intcon,A,b,Aeq,beq)'''&lt;br /&gt;
| This is how we call '''fot underscore intquadprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
Click on the Execute button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select file with echo from the drop-down.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on the '''file with echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Point to the Confirmation box.&lt;br /&gt;
&lt;br /&gt;
Click Yes to confirm.&lt;br /&gt;
| In the confirmation box, click the '''Yes''' button to clear the '''Console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Change the window to Scilab console&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
The result displays “'''Optimal Solution Found.”'''&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''fopt''' value, '''xopt''' values, '''exitflag''' and '''output''' in the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore quadprog''' and '''fot underscore intquadprog''' functions of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve Quadratic programming problems in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment I'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimise the following objective function.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore quadprog''' function subjected to the given constraint:&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment I'''&lt;br /&gt;
|&lt;br /&gt;
The optimum value will be -8.22.&lt;br /&gt;
&lt;br /&gt;
The optimum solution will be the vector [0.66 1.33].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment II'''&lt;br /&gt;
|&lt;br /&gt;
Here is another assignment problem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimise the following objective function.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore intquadprog''' function subjected to the given constraints:&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment II'''&lt;br /&gt;
|&lt;br /&gt;
The optimum value will be -20.&lt;br /&gt;
&lt;br /&gt;
The optimum solution can be either vector [4 1 1 0 1] or [4 1 2 0 1].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| '''Spoken Tutoria'''l and FOSSEE projects are funded by '''MoE, Government of India'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English"/>
				<updated>2021-10-28T14:45:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Linear Programming using fot_linprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Rupak Rokade, Siddharth Agarwal, Georgey John and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:Scilab console, FOSSEE Optimization Toolbox, Linear Programming, OR, Operations Research, fot_linprog, constraints, input, output, video tutorial.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Hello and welcome to the spoken tutorial on “'''Linear Programming''' using '''fot underscore linprog function'''”.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve '''linear programming''' problems using '''fot underscore linprog''' function in Scilab.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore linprog''' function of '''FOSSEE Optimization Toolbox.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of '''Scilab''' and optimization theory&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;If not, for relevant tutorials please visit this site.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial have been provided in the '''Code files''' link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is Linear Programming ?'''&lt;br /&gt;
|&lt;br /&gt;
A '''function''' is '''linear,''' if it has a degree of one or zero.&lt;br /&gt;
&lt;br /&gt;
A '''linear program''' is a mathematical '''optimization''' model with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore linprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function subject to these given constraints and bounds.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' and '''constraints''' are '''linear'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the opt_linprog.sce file to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| I have opened the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console,''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the Ok button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the tool-bar and locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_linprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_linprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore linprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘c’'''&lt;br /&gt;
| '''''c''''' is a '''vector''' of '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|&lt;br /&gt;
'''''b''''' is a '''vector''' of the right-hand side&lt;br /&gt;
&lt;br /&gt;
of '''inequality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘Aeq’'''&lt;br /&gt;
| '''''‘Aeq’''''' is a '''matrix''' of '''coefficients''' of '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘beq’'''&lt;br /&gt;
| '''''‘beq’''''' is a '''vector''' of the right-hand side of '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘lb’'''&lt;br /&gt;
| '''''‘lb’''''' is a vector of lower bounds on '''''x'''''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘ub’'''&lt;br /&gt;
| '''''‘ub’''''' is a vector of '''upper bounds''' on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Now we will summarize the output arguments&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''''xopt,''''' '''''fopt,''''' '''''exitflag, output,''''' '''lambda'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''''xopt''''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''''fopt''''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''''exitflag''''' denotes the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''''Output''' is a'' '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
| '''Lambda''' is a '''structure''' containing '''Lagrange multipliers''' at the optimal solution'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line calling ‘'''fot_linprog’'''&lt;br /&gt;
| We will use the '''fot underscore linprog''' function to solve the example&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
Click on the Execute button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select file with echo from the drop-down.&lt;br /&gt;
&lt;br /&gt;
Video-editor: Pls put a textbox on screen.&amp;amp;quot;Clear console&amp;amp;quot; window opens to ask are you sure you want to clear the console? - click on the yes button&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on '''file with echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight Optimal solution&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values’&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘lambda''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
Optimal solutions for the following are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
'''xopt''' values&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value&lt;br /&gt;
&lt;br /&gt;
'''exitflag'''&lt;br /&gt;
&lt;br /&gt;
'''output''' and&lt;br /&gt;
&lt;br /&gt;
'''lambda.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
| Now we see an alternate way of passing '''input''' arguments to '''fot underscore linprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘MPS’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' is a '''string''' stating the path of the '''mps file'''.&lt;br /&gt;
&lt;br /&gt;
'''MPS''' (Mathematical Programming System) is a file format.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘param’'''&lt;br /&gt;
|&lt;br /&gt;
It is used to present and archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;linear programming problems and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;mixed integer programming problems&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''param''' is a list containing parameters to be set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems I'''&lt;br /&gt;
|&lt;br /&gt;
The problem we just saw was directly solvable using '''fot underscore linprog. '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;There are cases when the optimal value is unbounded.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The minimum value may go to negative infinity in the absence of suitable constraints.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems II'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Such problems are called Unbounded Problems.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Infeasible Problems'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;There are instances where no solution exists for all the constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;These problems are called '''Infeasible Problems'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will see an example of these&lt;br /&gt;
&lt;br /&gt;
constraints on Scilab.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the scilab editor.&lt;br /&gt;
&lt;br /&gt;
Replace the value.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' menu&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' option&lt;br /&gt;
|&lt;br /&gt;
We will now change the previous problem&lt;br /&gt;
&lt;br /&gt;
to make it '''infeasible'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Locate the line that defines '''ub'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Change the second element of '''ub''' to 0.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Click on the '''Execute''' menu,&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Click on '''File with Echo''' from the drop down&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will execute the '''scilab code.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab Console&lt;br /&gt;
&lt;br /&gt;
Highlight the message '''Primal Infeasible'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab console to see the output.&lt;br /&gt;
&lt;br /&gt;
The '''console''' shows that the problem is '''Primal Infeasible.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|&lt;br /&gt;
This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore linprog''' function of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve an '''LP''' example using '''fot underscore linprog''' in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Highlight the '''constraint'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve the same example that we executed, with this additional constraint.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be -0.5714 and optimal solution will be 0.2857 and 0.8571&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;These are the optimal values of '''x1''' and '''x2'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgment'''&lt;br /&gt;
| '''Spoken Tutoria'''l and FOSSEE projects are funded by '''MoE, the Government of India'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is Mankrit Singh, a FOSSEE intern 2021, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English"/>
				<updated>2021-10-28T14:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Linear Programming, OR, fot_intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Integer Linear Programming'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use the '''fot underscore intlinprog''' function in '''Scilab.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve '''integer''' '''linear''' '''programming''' problems using '''fot underscore intlinprog function'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of Scilab and optimization theory&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial have been provided in the Code files link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''What is Integer Linear Programming ?'''&lt;br /&gt;
|&lt;br /&gt;
'''An Integer Linear Program''' is a mathematical optimization model with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Some '''decision variables''' as '''integers'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''Integer Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function subjected to these given constraints and bounds.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Note that the '''objective function''' and '''constraints''' are '''linear.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The '''decision variables''' are '''integers'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the OK button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Ope'''n button on the toolbar and locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''OK''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_intlinprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore intlinprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘c’'''&lt;br /&gt;
| '''c''' is a '''vector''' for the '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''A''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘b’'''&lt;br /&gt;
| '''b''' is a '''vector''' of the right-hand side of '''inequality constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Aeq’'''&lt;br /&gt;
| '''Aeq''' is a '''matrix''' of '''coefficients''' of '''equality constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘beq’'''&lt;br /&gt;
|&lt;br /&gt;
'''beq''' is a '''vector''' of the right-hand side of '''equality constraints'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of integer variables&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' is the '''lower bound''' for '''x'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘ub’'''&lt;br /&gt;
| '''ub''' is the '''upper bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘options’'''&lt;br /&gt;
| '''options''' is a '''list''' containing the '''parameters''' of the solver that is to be set.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]= fot_intlinprog(c, intcon, A, b, Aeq, beq, lb, ub,options)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore intlinprog function''' to solve the given '''problem'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' Button&lt;br /&gt;
&lt;br /&gt;
Click on the '''File with Echo''' button&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop&lt;br /&gt;
&lt;br /&gt;
down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''xopt''' value,&lt;br /&gt;
&lt;br /&gt;
'''fopt''' values,&lt;br /&gt;
&lt;br /&gt;
'''exitflag''' and&lt;br /&gt;
&lt;br /&gt;
'''output''' in the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Since this is an integer '''programming problem,''' some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Let's see an alternate way of passing '''input''' arguments to '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘options’'''&lt;br /&gt;
|&lt;br /&gt;
file :A string containing the path of the mps file to be read.&lt;br /&gt;
&lt;br /&gt;
options: A list containing the parameters of the solver that is to be set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Options'''&lt;br /&gt;
|&lt;br /&gt;
The options allow the user to set various parameters of the '''Optimization''' problem.&lt;br /&gt;
&lt;br /&gt;
Two such options are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''MaxTime''': The maximum amount of CPU time in seconds that the solver should take.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''MaxNodes''': The maximum number of nodes that the solver should search.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;In the example we have executed, you have seen the '''exitflag'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;This indicates the status of execution.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The documentation explains what they mean for each function.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
&lt;br /&gt;
Highlight 0&lt;br /&gt;
|&lt;br /&gt;
For '''fot underscore intlinprog''', they are explained briefly as follows:&lt;br /&gt;
&lt;br /&gt;
0 : Optimal Solution Found.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 1&lt;br /&gt;
| 1 : Converged to a point of primal infeasibility.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 2&lt;br /&gt;
| 2: Solution Limit is reached.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 3&lt;br /&gt;
| 3: Node Limit is reached. Output may not be optimal.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 4&lt;br /&gt;
| 4 : Numerical Difficulties.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 5&lt;br /&gt;
| 5 : Maximum amount of CPU Time exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 6&lt;br /&gt;
| 6 : Continuous Solution Unbounded.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 7&lt;br /&gt;
| 7 : Converged to a point of dual infeasibility.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog''' with '''mps''' files&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use mps files for large optimization problems&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use options.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Interpret exitflags.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show opt_intlinprog2.sce in scilab editor.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Show '''opt_intlinprog2.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type editor on the Scilab console and Press enter.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intlinprog2.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''file = &amp;amp;quot;liu.mps&amp;amp;quot;;'''&lt;br /&gt;
|&lt;br /&gt;
Instead of defining the integer linear program as a series of vectors and matrices,&lt;br /&gt;
&lt;br /&gt;
we can use it directly from a file.&lt;br /&gt;
&lt;br /&gt;
LIU is a well-known problem with 1156 decision variables.&lt;br /&gt;
&lt;br /&gt;
It would take many hours to solve if we don’t add any time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''options = list('MaxNodes',[1000], 'MaxTime',[30]);'''&lt;br /&gt;
|&lt;br /&gt;
We define options to ensure that,&lt;br /&gt;
&lt;br /&gt;
the maximum number of nodes expanded won’t exceed 1000.&lt;br /&gt;
&lt;br /&gt;
We also ensure that the time taken by the solver doesn’t exceed 30 seconds.&lt;br /&gt;
&lt;br /&gt;
Here we call '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL +S to''' save the file.&lt;br /&gt;
&lt;br /&gt;
Click on '''Execute''' button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the Clear Console window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the Clear Console window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''exitflag''' and '''output''' values&lt;br /&gt;
&lt;br /&gt;
Highlight the '''exitflag''' value&lt;br /&gt;
|&lt;br /&gt;
Switch to Scilab console to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that '''exitflag,''' and '''output''' are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
The '''exitflag''' is 3, indicating that the node limit is reached and the output may not be optimal.&lt;br /&gt;
&lt;br /&gt;
As the output indicates, the gap is quite huge.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore intlinprog''' function of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve an '''integer linear programming''' example using '''fot underscore intlinprog''' in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use options to exert control on the solver.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Read exitflags.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use MPS files as inputs.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve the given example&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be 7000 and optimal solution will be '''x one''' equal to 1, '''x two''' equal to 0, '''x three''' equal to 2, and '''x four''' equal to 0.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| Spoken Tutorial and FOSSEE projects are funded by MoE, Government of India.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Linear-Programming-using-linprog-function/English"/>
				<updated>2021-10-28T14:16:49Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: Created page with &amp;quot;'''Title of script''': '''Linear Programming using fot_linprog function'''  '''Author: Rupak Rokade, Siddharth Agarwal, Georgey John and Mankrit Singh'''  '''Keywords:Scilab c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Linear Programming using fot_linprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Rupak Rokade, Siddharth Agarwal, Georgey John and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords:Scilab console, FOSSEE Optimization Toolbox, Linear Programming, OR, Operations Research, fot_linprog, constraints, input, output, video tutorial.'''&lt;br /&gt;
&lt;br /&gt;
Outline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Define linear program&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Linear Programming using FOT&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;General form of linear programming&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve a minimizing problem where the objective function and constraints are linear and the decision variables are integers.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Write code to solve an integer programming problem using the FOT toolbox in scilab&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve a similar minimizing problem using alternate input format using mps file&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Define an infeasible optimization problem&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solving an infeasible optimization problem&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Identify and differentiate between feasible and infeasible problems&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use the fot_linprog with various arguments&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Hello and welcome to the spoken tutorial on “'''Linear Programming''' using '''fot underscore linprog function'''”.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve '''linear programming''' problems using '''fot underscore linprog''' function in Scilab.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore linprog''' function of '''FOSSEE Optimization Toolbox.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0''' and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of '''Scilab''' and optimization theory&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;If not, for relevant tutorials please visit this site.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial have been provided in the '''Code files''' link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''What is Linear Programming ?'''&lt;br /&gt;
|&lt;br /&gt;
A '''function''' is '''linear,''' if it has a degree of one or zero.&lt;br /&gt;
&lt;br /&gt;
A '''linear program''' is a mathematical '''optimization''' model with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore linprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function subject to these given constraints and bounds.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the '''objective function''' and '''constraints''' are '''linear'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the opt_linprog.sce file to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| I have opened the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console,''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the Ok button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Open''' button on the tool-bar and locate the file '''opt_linprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''Ok''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_linprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_linprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore linprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘c’'''&lt;br /&gt;
| '''''c''''' is a '''vector''' of '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''''A''''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘b’'''&lt;br /&gt;
|&lt;br /&gt;
'''''b''''' is a '''vector''' of the right-hand side&lt;br /&gt;
&lt;br /&gt;
of '''inequality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘Aeq’'''&lt;br /&gt;
| '''''‘Aeq’''''' is a '''matrix''' of '''coefficients''' of '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘beq’'''&lt;br /&gt;
| '''''‘beq’''''' is a '''vector''' of the right-hand side of '''equality constraints'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘lb’'''&lt;br /&gt;
| '''''‘lb’''''' is a vector of lower bounds on '''''x'''''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line with '''‘ub’'''&lt;br /&gt;
| '''''‘ub’''''' is a vector of '''upper bounds''' on '''''x'''''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Now we will summarize the output arguments&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''''xopt,''''' '''''fopt,''''' '''''exitflag, output,''''' '''lambda'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''''xopt''''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''''fopt''''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''''exitflag''''' denotes the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''''Output''' is a'' '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lambda’'''&lt;br /&gt;
| '''Lambda''' is a '''structure''' containing '''Lagrange multipliers''' at the optimal solution'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight the line calling ‘'''fot_linprog’'''&lt;br /&gt;
| We will use the '''fot underscore linprog''' function to solve the example&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + S'''&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
Click on the Execute button on scilab.&lt;br /&gt;
&lt;br /&gt;
Select file with echo from the drop-down.&lt;br /&gt;
&lt;br /&gt;
Video-editor: Pls put a textbox on screen.&amp;amp;quot;Clear console&amp;amp;quot; window opens to ask are you sure you want to clear the console? - click on the yes button&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Then click on '''file with echo''' from the drop down.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight Optimal solution&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values’&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘lambda''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the '''Scilab console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
Optimal solutions for the following are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
'''xopt''' values&lt;br /&gt;
&lt;br /&gt;
'''fopt''' value&lt;br /&gt;
&lt;br /&gt;
'''exitflag'''&lt;br /&gt;
&lt;br /&gt;
'''output''' and&lt;br /&gt;
&lt;br /&gt;
'''lambda.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
| Now we see an alternate way of passing '''input''' arguments to '''fot underscore linprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘MPS’'''&lt;br /&gt;
|&lt;br /&gt;
'''file''' is a '''string''' stating the path of the '''mps file'''.&lt;br /&gt;
&lt;br /&gt;
'''MPS''' (Mathematical Programming System) is a file format.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘param’'''&lt;br /&gt;
|&lt;br /&gt;
It is used to present and archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;linear programming problems and&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;mixed integer programming problems&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''param''' is a list containing parameters to be set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems I'''&lt;br /&gt;
|&lt;br /&gt;
The problem we just saw was directly solvable using '''fot underscore linprog. '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;There are cases when the optimal value is unbounded.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The minimum value may go to negative infinity in the absence of suitable constraints.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Unbounded Problems II'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Such problems are called Unbounded Problems.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Infeasible Problems'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;There are instances where no solution exists for all the constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;These problems are called '''Infeasible Problems'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will see an example of these&lt;br /&gt;
&lt;br /&gt;
constraints on Scilab.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the scilab editor.&lt;br /&gt;
&lt;br /&gt;
Replace the value.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' menu&lt;br /&gt;
&lt;br /&gt;
Select '''File with Echo''' option&lt;br /&gt;
|&lt;br /&gt;
We will now change the previous problem&lt;br /&gt;
&lt;br /&gt;
to make it '''infeasible'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Locate the line that defines '''ub'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Change the second element of '''ub''' to 0.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Click on the '''Execute''' menu,&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Click on '''File with Echo''' from the drop down&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will execute the '''scilab code.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab Console&lt;br /&gt;
&lt;br /&gt;
Highlight the message '''Primal Infeasible'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab console to see the output.&lt;br /&gt;
&lt;br /&gt;
The '''console''' shows that the problem is '''Primal Infeasible.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|&lt;br /&gt;
This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore linprog''' function of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve an '''LP''' example using '''fot underscore linprog''' in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Highlight the '''constraint'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve the same example that we executed, with this additional constraint.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be -0.5714 and optimal solution will be 0.2857 and 0.8571&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;These are the optimal values of '''x1''' and '''x2'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgment'''&lt;br /&gt;
| '''Spoken Tutoria'''l and FOSSEE projects are funded by '''MoE, the Government of India'''.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is Mankrit Singh, a FOSSEE intern 2021, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</id>
		<title>Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Scilab---FOSSEE-Optimisation-Toolbox/C2/Integer-Linear-Programming-using-FOT/English"/>
				<updated>2021-09-09T17:07:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mankrits: Created page with &amp;quot;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''  '''Author: Siddharth Agarwal and Mankrit Singh'''  '''Keywords: FOSSEE Optimizatio...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script''': '''Integer''' '''Linear Programming using fot_intlinprog function'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddharth Agarwal and Mankrit Singh'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: FOSSEE Optimization Toolbox, Integer Linear Programming, OR, fot_intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
! '''Visual Cue'''&lt;br /&gt;
! '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
| Welcome to the spoken tutorial on '''Integer Linear Programming'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|&lt;br /&gt;
In this tutorial, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use the '''fot underscore intlinprog''' function in '''Scilab.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve '''integer''' '''linear''' '''programming''' problems using '''fot underscore intlinprog function'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|&lt;br /&gt;
To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Ubuntu 18.04'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Scilab 6.1.0'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''FOSSEE Optimization Toolbox''' version '''0.4.1'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
'''https://spoken-tutorial.org'''&lt;br /&gt;
|&lt;br /&gt;
To follow this tutorial, you should:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Install '''FOSSEE Optimization Toolbox''' version '''0.4.1''' or above&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Have basic understanding of Scilab and optimization theory&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The files used in this tutorial have been provided in the Code files link.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Please download and extract the files.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Make a copy and then use them while practising.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''What is Integer Linear Programming ?'''&lt;br /&gt;
|&lt;br /&gt;
'''An Integer Linear Program''' is a mathematical optimization model with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' objective function&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''Linear''' constraints&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Some '''decision variables''' as '''integers'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Mathematical Formulation'''&lt;br /&gt;
| A '''general form''' of the '''Integer Linear Program''' is as shown.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog.'''&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Minimize the given function subjected to these given constraints and bounds.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Note that the '''objective function''' and '''constraints''' are '''linear.'''&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The '''decision variables''' are '''integers'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
| I have downloaded the required files to my '''Downloads''' folder.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor on the Scilab console.&lt;br /&gt;
| Now open the '''Scilab console'''.&lt;br /&gt;
|-&lt;br /&gt;
| Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
|&lt;br /&gt;
In the '''Scilab console''' type '''editor''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
'''Editor''' window opens.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Click on Open button &amp;amp;gt;&amp;amp;gt; locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Click on the OK button&lt;br /&gt;
|&lt;br /&gt;
Click on the '''Ope'''n button on the toolbar and locate the file '''opt_intlinprog.sce'''.&lt;br /&gt;
&lt;br /&gt;
Then click the '''OK''' button.&lt;br /&gt;
&lt;br /&gt;
'''opt_intlinprog.sce''' file opens in the '''editor'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Now we will see the input arguments for '''fot underscore intlinprog'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘c’'''&lt;br /&gt;
| '''c''' is a '''vector''' for the '''coefficients''' in the '''objective function'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘A’'''&lt;br /&gt;
|&lt;br /&gt;
'''A''' is a '''matrix''' of '''coefficients''' of&lt;br /&gt;
&lt;br /&gt;
'''inequality''' constraints&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘b’'''&lt;br /&gt;
| '''b''' is a '''vector''' of the right-hand side of '''inequality constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘Aeq’'''&lt;br /&gt;
| '''Aeq''' is a '''matrix''' of '''coefficients''' of '''equality constraints'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘beq’'''&lt;br /&gt;
|&lt;br /&gt;
'''beq''' is a '''vector''' of the right-hand side of '''equality constraints'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘intcon’'''&lt;br /&gt;
| '''intcon''' is a '''vector''' of the '''indices''' of integer variables&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘lb’'''&lt;br /&gt;
|&lt;br /&gt;
'''lb''' is the '''lower bound''' for '''x'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘ub’'''&lt;br /&gt;
| '''ub''' is the '''upper bound''' for '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘options’'''&lt;br /&gt;
| '''options''' is a '''list''' containing the '''parameters''' of the solver that is to be set.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight Output arguments&lt;br /&gt;
|&lt;br /&gt;
Now we will see the output arguments.&lt;br /&gt;
&lt;br /&gt;
Output arguments are '''xopt,''' '''fopt''', '''exitflag, output'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘xopt’'''&lt;br /&gt;
| '''xopt''' is the optimal value of '''x'''.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘fopt’'''&lt;br /&gt;
| '''fopt''' is the optimal objective function value'''.'''&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘exitflag’'''&lt;br /&gt;
| '''exitflag''' is the status of execution&lt;br /&gt;
|-&lt;br /&gt;
| Highlight '''‘output’'''&lt;br /&gt;
| '''output''' is a '''structure''' containing detailed information about the optimization.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''[xopt,fopt,exitflag,output]= fot_intlinprog(c, intcon, A, b, Aeq, beq, lb, ub,options)'''&lt;br /&gt;
|&lt;br /&gt;
Here we see the '''scilab''' code to define and solve the example.&lt;br /&gt;
&lt;br /&gt;
We call the '''fot underscore intlinprog function''' to solve the given '''problem'''.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL + s'''&lt;br /&gt;
&lt;br /&gt;
Click on execute button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on the '''Execute''' Button&lt;br /&gt;
&lt;br /&gt;
Click on the '''File with Echo''' button&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''S''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop&lt;br /&gt;
&lt;br /&gt;
down.&lt;br /&gt;
&lt;br /&gt;
In the '''Clear Console''' window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘xopt''' values'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘fopt''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘exitflag''' value'''’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘output''' values'''’'''&lt;br /&gt;
|&lt;br /&gt;
Switch to the Scilab '''console''' to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that it prints the '''xopt''' value,&lt;br /&gt;
&lt;br /&gt;
'''fopt''' values,&lt;br /&gt;
&lt;br /&gt;
'''exitflag''' and&lt;br /&gt;
&lt;br /&gt;
'''output''' in the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Since this is an integer '''programming problem,''' some '''decision variables''' are '''integers'''.&lt;br /&gt;
|-&lt;br /&gt;
| Show '''opt_intlinprog.sce''' in scilab editor.&lt;br /&gt;
| Let's see an alternate way of passing '''input''' arguments to '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Alternate Input Arguments'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘file’'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''‘options’'''&lt;br /&gt;
|&lt;br /&gt;
file :A string containing the path of the mps file to be read.&lt;br /&gt;
&lt;br /&gt;
options: A list containing the parameters of the solver that is to be set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Options'''&lt;br /&gt;
|&lt;br /&gt;
The options allow the user to set various parameters of the '''Optimization''' problem.&lt;br /&gt;
&lt;br /&gt;
Two such options are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''MaxTime''': The maximum amount of CPU time in seconds that the solver should take.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;'''MaxNodes''': The maximum number of nodes that the solver should search.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;In the example we have executed, you have seen the '''exitflag'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;This indicates the status of execution.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The documentation explains what they mean for each function.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Exitflags'''&lt;br /&gt;
&lt;br /&gt;
Highlight 0&lt;br /&gt;
|&lt;br /&gt;
For '''fot underscore intlinprog''', they are explained briefly as follows:&lt;br /&gt;
&lt;br /&gt;
0 : Optimal Solution Found.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 1&lt;br /&gt;
| 1 : Converged to a point of primal infeasibility.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 2&lt;br /&gt;
| 2: Solution Limit is reached.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 3&lt;br /&gt;
| 3: Node Limit is reached. Output may not be optimal.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 4&lt;br /&gt;
| 4 : Numerical Difficulties.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 5&lt;br /&gt;
| 5 : Maximum amount of CPU Time exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 6&lt;br /&gt;
| 6 : Continuous Solution Unbounded.&lt;br /&gt;
|-&lt;br /&gt;
| Highlight 7&lt;br /&gt;
| 7 : Converged to a point of dual infeasibility.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
|&lt;br /&gt;
We will now solve this example to illustrate the use of '''fot underscore intlinprog''' with '''mps''' files&lt;br /&gt;
&lt;br /&gt;
In this example, we will learn how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use mps files for large optimization problems&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use options.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Interpret exitflags.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show opt_intlinprog2.sce in scilab editor.&lt;br /&gt;
&lt;br /&gt;
Type '''editor''' &amp;amp;gt;&amp;amp;gt; press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Show '''opt_intlinprog2.sce''' in scilab editor.&lt;br /&gt;
|&lt;br /&gt;
We will use the toolbox to solve this example.&lt;br /&gt;
&lt;br /&gt;
Open the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
Type editor on the Scilab console and Press enter.&lt;br /&gt;
&lt;br /&gt;
Open '''opt_intlinprog2.sce''' in the '''Scilab editor.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''file = &amp;amp;quot;liu.mps&amp;amp;quot;;'''&lt;br /&gt;
|&lt;br /&gt;
Instead of defining the integer linear program as a series of vectors and matrices,&lt;br /&gt;
&lt;br /&gt;
we can use it directly from a file.&lt;br /&gt;
&lt;br /&gt;
LIU is a well-known problem with 1156 decision variables.&lt;br /&gt;
&lt;br /&gt;
It would take many hours to solve if we don’t add any time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''options = list('MaxNodes',[1000], 'MaxTime',[30]);'''&lt;br /&gt;
|&lt;br /&gt;
We define options to ensure that,&lt;br /&gt;
&lt;br /&gt;
the maximum number of nodes expanded won’t exceed 1000.&lt;br /&gt;
&lt;br /&gt;
We also ensure that the time taken by the solver doesn’t exceed 30 seconds.&lt;br /&gt;
&lt;br /&gt;
Here we call '''fot underscore intlinprog.'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Press '''CTRL +S to''' save the file.&lt;br /&gt;
&lt;br /&gt;
Click on '''Execute''' button on scilab&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the Clear Console window click on the '''Yes''' button.&lt;br /&gt;
|&lt;br /&gt;
Save the file by pressing '''Control''' and '''‘S’''' keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
To '''run''' the file, click on the '''Execute''' menu.&lt;br /&gt;
&lt;br /&gt;
Click on '''File with Echo''' from the drop down.&lt;br /&gt;
&lt;br /&gt;
In the Clear Console window click on the '''Yes''' button.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Change the window to Scilab console&lt;br /&gt;
&lt;br /&gt;
Highlight '''exitflag''' and '''output''' values&lt;br /&gt;
&lt;br /&gt;
Highlight the '''exitflag''' value&lt;br /&gt;
|&lt;br /&gt;
Switch to Scilab console to see the output.&lt;br /&gt;
&lt;br /&gt;
We see that '''exitflag,''' and '''output''' are displayed on the '''Scilab console'''.&lt;br /&gt;
&lt;br /&gt;
The '''exitflag''' is 3, indicating that the node limit is reached and the output may not be optimal.&lt;br /&gt;
&lt;br /&gt;
As the output indicates, the gap is quite huge.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|&lt;br /&gt;
As an assignment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve the given example&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;The optimal value will be 7000 and optimal solution will be '''x one''' equal to 1, '''x two''' equal to 0, '''x three''' equal to 2, and '''x four''' equal to 0.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&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 how to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use '''fot underscore intlinprog''' function of the '''FOSSEE Optimization Toolbox'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Solve an '''integer linear programming''' example using '''fot underscore intlinprog''' in '''Scilab'''.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use options to exert control on the solver.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Read exitflags.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Use MPS files as inputs.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
|&lt;br /&gt;
The video at the following link summarises the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshops'''&lt;br /&gt;
|&lt;br /&gt;
The '''Spoken Tutorial''' Project Team conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Answers for THIS Spoken Tutorial'''&lt;br /&gt;
| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| Show Slide: '''FOSSEE Forum'''&lt;br /&gt;
| Please post your general and technical queries on '''Scilab''' in this forum.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Textbook Companion project'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Textbook Companion project'''.&lt;br /&gt;
&lt;br /&gt;
We give '''Certificates''' and '''Honorarium''' to the contributors.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site..&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Lab Migration'''&lt;br /&gt;
|&lt;br /&gt;
The '''FOSSEE''' team coordinates the '''Lab Migration project'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please visit this site.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| Spoken Tutorial and FOSSEE projects are funded by MoE, Government of India.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Show Slide :&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|&lt;br /&gt;
This is '''Mankrit Singh''', a '''FOSSEE''' intern 2021, '''IIT Bombay''' signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mankrits</name></author>	</entry>

	</feed>