Removing particular solution in mixed-integer linear programming

133 Views Asked by At

In standard format of mixed-integer linear programming:

min Z >= c'x+d'y

s.t. Ax+Ey<=b

The solution is z_hat for x_hat and y_hat.

If by some reason I must introduce a new constraint that rejects a particular solution for the next iteration (y_hat only, as y_hat is an integer), how can I fit the rejected solution to the original constraints? The constraint must be in inequality ( <= ) or equality ( = ) constraints.

Also, note that we must not reject z_hat.

I will give an example:

for c'=0,

d'=[2 5], given the particular solution that I want to reject y_hat=[1 3], and accept y_hat=[6 1]

The code for MATLAB in the original problem will be like this:

f=[2 5 0]
numberOfY=length(f)
ctype=[];
for k=1:numberOfY  
    ctype=[ctype,'I'];
end
Aineq=[0  0 -1
       2  5 -1
      -2 -5  1]

bineq=[-16.5
         0
         0]

lb=zeros(numberOfY,1)
[sol,z,exitflag]=cplexmiqp([],f,Aineq,bineq,[],[],[],[],[],lb,[],ctype)

and the solution is

sol =

     1
     3
    17


z =

    17

Is there a mathematical approach for mixed-integer linear programming that can be used to introduce new constraints that reject only one or some particular solution? Your answer is not necessary in MATLAB format.