- 67 Views
- Uploaded on
- Presentation posted in: General

Linear Programming Supplements (Optional)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Linear ProgrammingSupplements(Optional)

Strictly ≤

All xj's are non-negative

- Min cTxMax -cTx
- Max (cTx + constant)Max cTx
- Replace a constraint like ∑aijxj≥bi by -∑aijxj≤ -bi
- Replace a constraint like ∑aijxj=bi by ∑aijxj≤bi and -∑aijxj≤ -bi
- If xjis allowed to take on negative value, replace xi by the difference of two nonnegative variables, says xi = ui – vi, where ui ≥ 0 and vi ≥ 0.

Replace x1 by u1– v1

Every primal LP problem in the form

Maximize cTx

subject to Ax≤b, x ≥ 0

has a corresponding dual problem in the form

Minimize bTy

subject to ATy ≥ c, y ≥ 0

Theorem on Primal and Dual Problems

If x satisfies the constraints of the primal problem and y satisfies the constraints of its dual, then cTx≤bTy.

Consequently, if cTx=bTy, then x and y are solutions of the primal problem and the dual problem respectively.

Duality Theorem

If the original problem has a solution x*, then the dual problem has a solution y*; furthermore, cTx*=bTy*.

If the original primal problem contains much more constraints than variables (i.e., m >> n), then solving the dual problem may be more efficient. (Less constraints implies less corner points to check)

The dual problem also offers a different interpretation of the problem (Maximize profit == Minimize cost)

Partial help manual generated by MATLAB:

X=LINPROG(f,A,b) attempts to solve the linear programming problem:

min f'*x subject to: A*x <= b

x

X=LINPROG(f,A,b,Aeq,beq) solves the problem above while additionally

satisfying the equality constraints Aeq*x = beq.

X=LINPROG(f,A,b,Aeq,beq,LB,UB) defines a set of lower and upper

bounds on the design variables, X, so that the solution is in

the range LB <= X <= UB. Use empty matrices for LB and UB

if no bounds exist. Set LB(i) = -Inf if X(i) is unbounded below;

set UB(i) = Inf if X(i) is unbounded above.

X=LINPROG(f,A,b,Aeq,beq,LB,UB,X0) sets the starting point to X0. This option is only available with the active-set algorithm. The default interior point algorithm will ignore any non-empty starting point.

…

% Turn into minimization problem

c = [ -150 -175 ]';

A = [ 7 11; 10 8; 1 0; 0 1 ];

b = [77 80 9 6]';

LB = [0 0]';

% There is no equality constraints

xmin = linprog(c, A, b, [], [], LB)

Optimization terminated.

xmin =

4.8889

3.8889

- If the variables can only take integer values, we cannot take the integers closest to the solution of the corresponding LP problem as the solution.
- Integer Programming (IP) or Integer Linear Programming (ILP) problems are NP-hard problems.
- Some of the algorithm for solving IP problems include branch-and-bound, branch-and-cut.