Title: Linear%20Programming%20Supplements%20(Optional)
1Linear ProgrammingSupplements(Optional)
2Standard Form LP (a.k.a. First Primal Form)
All xj's are non-negative
3Transforming Problems into Standard Form
- Min cTx ? Max -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 xj is 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.
4Example of transforming a problem into Standard
Form
5Dual Problem
- 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.
6Dual Problem
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 gtgt 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)
7MATLAB LP solver linprog()
- Partial help manual generated by MATLAB
- XLINPROG(f,A,b) attempts to solve the linear
programming problem - min f'x subject to Ax lt b
- x
- XLINPROG(f,A,b,Aeq,beq) solves the problem above
while additionally - satisfying the equality constraints Aeqx
beq. -
- XLINPROG(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 lt X lt 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.
-
- XLINPROG(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.
8MATLAB example
- 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
9Integer LP Problem
- 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.