Proposal
Main paper can be found here.
Summary
The problem and its notation
- MIP (Mixed Integer Programming) is an optimization problem of the form
- minimize ΣjϵNcjxj
- subject to
- ΣjϵNaijxj≤bi(iϵM)
- lj≤xj≤uj(jϵN)
- xjϵZ(jϵI)
- where
- N = number of variables
- M = number of constraints
- Z = set of integers
- I = set of variables that can only take integer values
Algorithm
- Lagrangian relaxation
- Relax all the constraints (except the variable bounds and integrality constraints)
- Penalize the relaxed ones, when they violate the constraints, in the objective function
- IOW
- minimize Oq(x)+Fw(x)
- subject to
- lj≤xj≤uj(jϵN)
- xjϵZ(jϵI)
- where
- Oq(x)=qΣjϵNcjxj = original objective weighted by q
- Fw(x)=ΣiϵMwifi(x) = total infeasibility penalty
- wi = weight for each constraint
- fi(x)=max(0,ΣjϵNaijxj−bi)
- using 'max' function means we are interested in the solutions that live on
the edge rather than interior of the feasibility region.
- this doesn't minimize the langrangian function directly, but instead looks for
a local minimum in the feasible neighborhoods where only variable is varied.
jump value
- current assignment assumed to be x=x and only one variable xj
is allowed to change with the rest of them fixed.
- However, we expect the resultant value of xj to not be xj
- Let's say rij=aijbi−Σk=jaikxk
- Thus, if xj is integer variable, we have
- tij(xk=j)=⌊rij⌋ifaij>0
- tij(xk=j)=⌈rij⌉ifaij<0
- else, if xj is fractional, we have: tij(xk=j)=rij
- We'll get a piecewise linear convex function:
- gij(t∣xk=j)=max(0,wi(t−tij(xk=j)))ifaij>0
- gij(t∣xk=j)=max(0,−wi(t−tij(xk=j)))ifaij<0
- constraint violation penalty then is: Gj(t∣xk=j)=ΣiϵMgij(t∣xk=j)aij=0
- jump for this variable would then become
- Jj(xk=j)=argmintϵ[lj,uj]−xjGj(t∣xk=j)
- this means, it can only be one of: Jj(xk=j)={lj,uj,tij(xk=j)}