1. IE 5305
Project
Spring 2015
Ukesh Chawal
ID 1000796687
“I Ukesh Chawaldid not give or receive any assistance on this project and the report submitted is wholly
my own.”
2. In this project, I formulated and solved a linear programming problem using Microsoft Excel, MATLAB
and IBM ILOG CPLEX using the Blum Blum Shub pseudo random number generator with my Student ID
as the seed.
Determine Linear Program Data:
Below are several steps to calculate A, b, and c using the Blum Blum Shub pseudo random number
generator with my Student ID as the seed.
1) Initial Sequence
My Student ID is 1000796687, and square of it is 1.00159E+18. Dividing it by 62,615,533, I got a
remainder of 15636735. Hence, 15636735 is the first number in my initial sequence. Using the first
number in the sequence,repeating the same step, my second number is 24032992. Then, using the
second number, the third number is 55573565. Repeating this 19 times and my initial sequence is
as follows:
StudentID Square Remainder
1000796687 1.00159E+18 15636735
15636735 2.44507E+14 24032992
24032992 5.77585E+14 55573565
55573565 3.08842E+15 2720679
2720679 7.40209E+12 61602979
61602979 3.79493E+15 61481107
61481107 3.77993E+15 47915260
47915260 2.29587E+15 50171325
50171325 2.51716E+15 18537451
18537451 3.43637E+14 38927817
38927817 1.51537E+15 16982843
16982843 2.88417E+14 43341501
43341501 1.87849E+15 57655639
57655639 3.32417E+15 32655130
32655130 1.06636E+15 23214513
23214513 5.38914E+14 5031805
5031805 2.53191E+13 32480744
32480744 1.055E+15 9455014
9455014 8.93973E+13 28812035
3. 2) Scaled Sequence.
The first number of my scaled sequence is 2 since (15636735/6261553.3) = 2.4973 rounds to 2.
Since (24032992/6261553.3) = 3.8382, the second number in my scaled sequence is 4. Using this
on the first 16 numbers of my scaled sequence is as follows:
Remainder
15636735 2.4973 2
24032992 3.8382 4
55573565 8.8754 9
2720679 0.4345 0
61602979 9.8383 10
61481107 9.8188 10
47915260 7.6523 8
50171325 8.0126 8
18537451 2.9605 3
38927817 6.2170 6
16982843 2.7122 3
43341501 6.9218 7
57655639 9.2079 9
32655130 5.2152 5
23214513 3.7075 4
5031805 0.8036 1
Then, taking each number of the last 3 values in the initial sequence,dividing it by 626,155.33, and
rounding it to the nearest whole number between 0 and 100. The last 3 numbers of my scaled
sequence are 52, 15, and 46.
32480744 5.1873 52
9455014 1.5100 15
28812035 4.6014 46
4. 3) A, c, and b.
The first 4 numbers in the scaled sequence are the vector c. The A matrix is a 3-by-4 matrix in
which each row is the consecutive 4 numbers starting with the 5th number in the scaled sequence
and ending with the 16th number. Specifically, the top row is the 5th -8th numbers in the scaled
sequence,the second row is the 9th -12th numbers in the scaled sequence,and the third row is the
13th - 16th numbers in the scaled sequence. The last 3 numbers in the scaled sequence represent
the b vector.
Hence, I would get the following linear programming data:
c 2 4 9 0 b
A 10 10 8 8 52
3 6 3 7 15
9 5 4 1 46
Formulate Linear Programming Problem:
The formulation for the linear programming problem given by max cx s.t. Ax ≤ b, x ≥ 0 using the
aforementioned data is as follows:
Max (z) 2x1 + 4x2 + 9x3
s.t 10x1 + 10x2 + 8x3 +8 x4 ≤ 52
3x1 + 6x2 + 3x3 +7x4 ≤ 15
9x1 + 5x2 + 4x3 + x4 ≤ 46
x1, x2 , x3 , x4 ≥ 0
Solve Linear Program using Microsoft Excel:
Table: Excel formulation and solution
Here, Solving the linear programming problem using Microsoft Excel Solver, the optimal solutions I got
are x1= 0, x2 = 0, x3 = 5, x4 = 0 and the maximum value (z) or the objective value is 45.
Solve Linear Program using MATLAB Optimization Toolbox:
x 0 0 5 0 12 0 26 z
c 2 4 9 0 0 0 0 45 b
A 10 10 8 8 1 0 0 52 52
3 6 3 7 0 1 0 15 15
9 5 4 1 0 0 1 46 46
6. Fig: MATLAB output including primal solution and objective value
Here,solving the linear programming problem using MATLAB Optimization Toolbox with an m file, the
primal solutions I got are x1= 0, x2 = 0, x3 = 5, x4 = 0 and the objective value is 45.
8. Fig: Sol file including primal and dual solutions
Here,solving the linear programming problem using IBM ILOG CPLEXwith an lp file, the primal
solutions I got are x1= 0, x2 = 0, x3 = 5, x4 = 0, the objective value is 45 and the dual solution are 0, 3 and
0 respectively.