An implementation of Simplex Algorithm
Optima is an implementation of Simplex Algorithm for solving Linear Programming Problems.
source code in Visual C++
Some of its features are :
· Easy to use GUI ( Graphical User Interface )
Optima is developed for Windows Platform thus providing a Graphical Interface which makes it very easy to use with drop-down menus , toolbars and easy file management.
· Built in editor with file-management capabilities and multiple document capability
It features a word-processor like interface which provides a built in editor. You can directly enter the problem into the editor as you would write it on paper and solution will also be written to the same window. Moreover , the document can be saved to a file for later use.
Also it supports multiple documents i.e. you can work on more than one problem simultaneously. Just open a new window and start working !
· Supports Printing directly , Printer Setup and other Windows features
Optima , you can directly print the solution to the printer from within
the program . You can also directly Setup the printer from within the program.
It also supports other traditional features of Windows like Cut , Copy , Paste from/to ClipBoard and Undo.
· Fully Object Oriented
Optima uses Object Oriented methods (OOP) and implements a Class Simplex for solving Simplex Algorithm Problems in C++ language. This means that the class can be easily integrated into other software without affecting its implementation just by copying the Class definitions and can be used as it is. It can also be easily extended to support other features and to add more capabilities to it.
If defines two main functions :
FillSimplexTable() - It makes the initial Simplex Tableau from the problem values
Iterate() - This function iterates through the table and creates a new table.
Other details can be had from the Author of the program.
· Works in Fractions
One unique aspect of this program is its capability to work in fractions. It can do all the calculations in fractions and results are also displayed in fractions thus making the program very convenient to use.
· Supports Two Phase method and capability for giving any sign to the variables ( <=0, >=0 , unrestricted in sign ).
Using the Program
The problem is entered simply by entering the numerical values seperated by commas.
Then is executed by pressing the “Cross” button on the toolbar , besides the “question mark”.
x1>=0 , x2<=0 , x3 unrest. In sign
will be written as
Things to Note
1. The Objective function values are entered on the very first line
2. After the O.F. constraints are entered with A( i , j ) for each variable.
3. The signs of the variables are entered after the tag “signs”.Just enter the variable no. and the condition seperated by a comma. For unrestricted sign Use “*”. For e.g. x1>=0 , write “1,>=”. ( See example above ). If the sign is not mentioned for a variable it is assumed to be >=0.
4. Write “end” to indicate the end of problem.