You are on page 1of 2

lin opt

HW 5 - 6) artificial variables and 2 phase


- when you go from phase 1 to phase 2, and you drop the AVs, do you drop the ones that aren't just
AVs? like if x3 appears in just one eq and can be a BV, would you drop it in phase 2? presumably no
- 2 phase: add slack variables where needed, make RHS all non neg, add necessary AVs (needed for
BVs, so have to have coeff +1 and appear in only one eq) minimize zbar = sum (AVs), becomes
maximxe ztilde = - sum(AVs). this obj eq + the orig constraints is the aux problem. not yet initial table:
create normal middle part, and the obj row will be all 0s except for AVs which will have 1s. we want
these to be 0s. then we have init table.
- then to start phase 2, knock out cols of AVs and use original obj eq so that values in obj aren't all 0. (I
forget if we're using original original or if we use ztilde eq so look that up before exam real quick !!!!!)
then we get intial table for phase 2 by setting these non0 things to 0 in obj row. then just solve.
- if OS of aux problem != 0, then original is infeasible.
Exam 1
- standard form and canonical form requirements (b's dont have to be positive)
- extreme point theorem
- how to determine BFS from completed tableau
- remember that if auxiliary problem has nonzero solution, then original is infeasible
HW 6 - 3.2 11) use complementary slack to determine dual sol
3.3 2) how the fuck
- dual simplex: use to restore feasibility, find negative xb, then find least negative ratio of obj row / xb's
row
literally all of hw6
HW 7)
- eta computation negativity
-revised simplex
- sensitivity: if ck is NBV, zk - ck > Dck will remain optimal, anything will remain feasible for Dck
if ck is BV, max( - (zj - cj)/ (t_rj) | t_rj > 0) <= Dci <= min( - (zj - cj) / (t_rj) | t_rj < 0))
- alternative for BV: for each value in obj row, add that plus coeff times Dc where coeff is the
value in A of that BV's row and that value's col, so you'll get an eq for each value which isn't 0 and
where trj isn't 0, then just set >= 0 and pick max of those
- Db feasibility
- (not a negative sign) xb + Db_i * B^(-1)_i >= 0
when nbv changes, calculate delta, then sub that from approp value in OR, then do simplex until done
when b changes, recalc xb by doing xb_old + delta * B^(-1) col of b index changing, calc new z by
doing values of BVs in left column times new xb. then do dual simplex to restore feasibility.
alternatively, calc new xb by doing B^(-1) * new RHS of eqs as vector
Exam 2
- sensitivity analysis

- dual simplex
- cutting plane
- find largest fractional part in xb
- eq is sum of -coeffs's frac parts * x + slack var = - fractional part NOT ACTUALLY RIGHT
- use this stuff to create new row, pivot on this row thing, yay
HW 8
- lol branch and bound wtf
- GEOMETRIC B&B: draw out the equations onto a plane, then find optimal extreme point, if an
integral var isn't integral for this sol, choose to look at <= floor and >= ceiling. so then draw these plots
which are just slicing the original down the line x = cut. then just compute extreme points and their
vlaues for this. pick best one and check if var is now integral, if so terminal. otherwise keep repeating.
when all nodes are terminal, pick one with the highest (/lowest for min problem) value
HW 9
- min cost rule: easy just fill in min cost per row til exhausted
- vogel's rule: for each row, and each col, find diff between smallest and next smallest. select row or col
with biggest diff. allocate as much as possible to cheapest in that row/col. decrease supply in that row,
and demand in that col. if both are reduced to 0, just pick one to eliminate. this is the method where you
draw differences on perimeter, then keep recalcing them, while crossing out rows and cols.
- supply != demand
- create new col, all costs are 0, demand is equal to leftover supply
- what to do if row and col are both satisfied at same time?
5.2 stuff
- assignment problem
- have matrix of costs C
- for each row, sub smallest value from all entries, do the same for each col (sub the post-row
subtraction value (so it could be a 0))
- take 0s top to bottom from left to right to get one in col, and one in each row, if you can't do this (0 of
next col only occurs in row that we already took a 0 from), then try it again using a different 0 at some
point
Defs and stuff
EPT
- 1) if S nonempty and bounded, then OS exists at an EP
- 2) if S nonempty and nonbounded and OS exists, then occurs at EP
- 3) if OS DNE, then S empty or unbounded