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.