Working Under Feasible Region Contraction Algorithm ( FRCA ) Solver Environment

In this paper FRCA Solver for solving linear programming problems is presented. This software provides the computerized implementation of Feasible Region Contraction Algorithm (FRCA) developed by Effanga (2009). The solver which can solve linear programming problem of any size generates a sequence of interior feasible points that converges at the optimal solution. The solver is validated by using it to solve several linear programming problems one of which involves six bounded variables and three functional constraints presented in this paper. The solution obtains by the FRCA solver compared favorably with that of others software like MATLAB and OPTIMIZER.


Introduction
A number of computer software is available for solutions of linear programming problems.Some are based on the simplex algorithm and its variants, e.g.Optimizer in Corel Q Pro, CPLEX, LINDO, MATLAB, TORA, EXCEL SOLVER, AMPL, LINGO, etc. see Taha (2006), and some are based on the interior point algorithms, e.g.MOSEX.Fourer(2001).
Although the simplex algorithm and its variants, hence the software based on them, have enjoyed widespread acceptance and usage in solving linear programming problems, they solve linear programming problems in exponential time.An algorithm that solves linear programming problem in polynomial time is considered to be efficient.A first attempt to solve linear programming problems in polynomial time was the development of an interior point algorithm by Karmarkar (1984).Since the development by Karmarkar there has been a growing interest in the interior point method for solving linear programming problems.See Freun and Mizuno (1996), Ye (1997), Terlaky and Boggs (2005).How to solve large scale linear programming problems by interior point method under MATLAB environment was reported by Zhang (1996).
The existing interior point algorithms have some drawbacks such as extensive calculation requirements, large number of iterations and large computer space requirements.See Eiselt et al (1987), Terlaky and Boggs (2005).In this paper, new software for solutions of linear programming problems called FRCA SOLVER is presented.This software provides the computerized implementation of Feasible Region Contraction Algorithm (FRCA) developed by Effanga (2009).
The FRCA Solver has features such as the automated generation of the corresponding dual problem for the given primal problem; saving and loading of data associated with the given linear programming problem; copying and pasting of data and modification of data values as required; and generation and printing of linear programming problem solutions.
The main screen of the application consists of data grids which display the data value associated with a given linear programming problem.The data grids are divided into two areas, the upper area and the lower area.The upper area displays the objective function and the constraints.When the application is started the data grids in this area are initially blank, and are not directly editable.The lower area contains the buttons for 'New', 'Modify', 'Clear', and 'Solve'.Information on the various options accessed by these buttons is given in the menu options.
The main window also features a menu bar where all the functions available in the application can be accessed.The menu options are the File Exit option; Edit copy option, Edit paste option, Edit clear option, Edit reset option; View parameter option, View detailed reports option; LP problem new option, LP problem save option, LP problem load option, LP problem modify option and LP problem solve option.

Step by Step Guide
This section provides a step by step guide for setting up and solving a linear programming problem using the FRCA SOLVER.
Step 0: Set up linear programming problem in canonical form.
Step 1: Select the 'New' option under the LP problem menu or click on 'New' button at the bottom of the application window.
Step 2: In the displayed dialog window, (i) Under the LP problem section, specify the number of the decision variables and the number of constraints in the LP problem, in the appropriate input fields.
(ii) Under the results section, select the desired report format, Detailed or sum-mary.
(iii) In the last section -Specify data?, select 'Yes', if you intend to input the data using the data screen, else, select 'No' to create a blank data set.
(iv) Click on the 'OK' button to proceed or 'Cancelled' to abort the operation.
Step 3: If a blank data set was specified in step 2, an empty data grid is displayed which the user can paste data, otherwise the data input screen dialog window displayed.The following options are given for the input (or modification) of the LP problems: (i) Select the objective of the primal problem from the drop down list.This will be either maximization or minimization.
(ii) Specify the value of the epsilon in the input field labeled value of ε.
(iii) Set the vertices to be used by the modified simplex splitting algo-rithm (MSSA).To do this click on the 'set vertices' button.A new window is displayed.Click 'OK' after inputting the values of the vertices or 'cancelled' to abort it.
(iv) Specify the coefficients of the objective function under the section labeled 'objective function coefficients' (v) Click the 'OK' button to set the data or 'Canceled' to abort.
Step 4: The inputted data is displayed in the data grid of the application main window.The parameters such as the vertices and epsilon can be viewed using the 'parameter' option under the view menu.
Step 5: After verifying that the inputted data is correct, select the 'Solve' option to the linear programming problem.This brings up the option dialog window.In this dialog, select the preferred method of getting the initial feasible solution for the dual problem.When the desired option has been selected, click on the 'OK' button.A dialog window displaying an input interface based on the selected option is displayed.Input the required data and click the 'OK' button.A report of the problem solution is then generated.
Step 6: The linear programming problem data can be saved at any time by selecting the 'Save' option under the LP problem menu.The saved data can be loaded at a later time using the 'load' option under the LP problem menu.

Setting Vertices for the Initial Simplex
Given the linear programming problem in canonical form, 2009) defined the vertices for the initial simplex enclosing the feasible region of the above linear programming problem by the following (n + 1)n -dimensional vectors:

Published by Canadian Center of Science and Education
where the number R is determined as follows: Solving Linear Programming Problem with FRCA Solver Consider the linear programming problem below (Hillier and Lieberman, 2005) Mminimize Z = 8x 1 + 10x 2 + 7x 3 + 6x 4 + 11x 5 + 9x 6 subject to: The detailed report produced by the FRCA Solver is as follows.

Comparison OF FRCA with OPTIMIZER and MATLAB
In this section, the performance of our FRCA software is compared with the popular simplex algorithm under OPTI-MIZER environment and the interior point algorithm by under MATLAB environment.The modes of comparison are the objective function value, values of decision variables and number of iterations.The table below shows the comparison of the three methods using the linear programming problem in Section 4. The allowed solution precision in each of the methods is 0.01 Terlaky and Boggs (2005) showed that the interior point algorithms are more efficient than the simplex algorithm when applied to large scale linear programming, but less efficient when applied to small scale linear programming like the one in section 4. As one can see in the above table, FRCA performs better than the MATLAB in all ramifications.
The OPTIMIZER performs better than the other two in this example because of the small nature of problem.Hence by implication FRCA would perform better than the simplex algorithm in a large scale problem.

Concluding Remarks
The FRCA Solver presented in this paper is a powerful software capable of solving large -scale linear programming problems with some restrictions.The solver can only solve linear programming problems given in canonical form.The solver generates sequence of interior feasible points which converge at the optimal solution.Setting up the vertices for the initial simplex for both the primal and dual problems is very crucial for the working of the solver.Therefore, if the value of R determine by the formula in section 2 leads to no initial feasible solution, it should be made to be large enough for the confirmation of the existence of no initial feasible solution.It is worth noting that when the right -hand sides of the constraints are scale down by a multiplication factor of 10 −n for a positive integer n the rate of convergence of FRCA would increase sharply.