CPXPARAM_MIP_Display 1 Infeasible column 'x18'......
4 views (last 30 days)
Show older comments
With the code below I get this result:
CPXPARAM_MIP_Display 1
Infeasible column 'x18'.
Presolve time = 0.00 sec. (0.02 ticks)
Does anyone can find what I am doing wrong? I appreciate any help.
clc
clear all;
%% data for the system
%generator
p=zeros(6,1);
p(1,1)=375;
p(2,1)=73;
p(3,1)=300;
p(4,1)=85;
p(5,1)=250;
p(6,1)=397;
%load
d=zeros(6,1);
d(1,1)=150;
d(2,1)=300;
d(3,1)=280;
d(4,1)=250;
d(5,1)=300;
d(6,1)=200;
%Shifting factor matrix
G=[0.4 -0.4 -0.4 0.2 0.8 0;
0.2 0.15 0.15 -0.4 -0.4 0;
0.4 0.25 0.25 0.2 -0.4 0;
0.25 0.4 -0.6 0.15 0.5 0;
0.15 0.2 0.2 0.05 0.3 0;
0.25 0.4 0.4 0.15 0.5 0;
0.2 0.15 0.15 0.6 -0.4 0;
0.6 0.4 0.4 0.8 0.2 0];
B=pinv(G);
% left null space
[V, pivot] = rref(G)
r = length(pivot)
cs = G(:,pivot)
ns = null(G,'r')
rs = V(1:r,:)'
lns = null(G','r')
H=lns'
c=[20;25;25;35;28.7;24];
delta_p_low=zeros(6,1);
for i=1:6
delta_p_low(i,1)=-2;
end
delta_p_up=zeros(6,1);
for i=1:6
delta_p_up(i,1)=0.1;
end
f_up=repmat(90,8,1);
f_low=repmat(-90,8,1);
M=10000;
%% variables
lamda_plus=sdpvar(6,1);
lamda_minus=sdpvar(6,1);
alpha=sdpvar(6,1);
f=sdpvar(8,1);
miu_minus=sdpvar(8,1);
miu_plus=sdpvar(8,1);
v=sdpvar(3,1);
ommiga_alphaminus_d=binvar(6,1);
ommiga_alphaplus_d=binvar(6,1);
ommiga_betaminus_l=binvar(8,1);
ommiga_betaplus_l=binvar(8,1);
%% objective
obj=-((c(1)+lamda_plus(1)-lamda_minus(1))*(p(1)-alpha(1))-c(1)*p(1));
%% constraints
F=[];
F=[F 0<=alpha(1)<=p(1)];
F=[F alpha(2,1)==0];
F=[F alpha(3,1)==0];
F=[F alpha(4,1)==0];
F=[F alpha(5,1)==0];
F=[F alpha(6,1)==0];
F=[F delta_p_low<=B*f-p+alpha+d<=delta_p_up];
F=[F f_low<=f<=f_up];
F=[F H*f==0];
F=[F lamda_minus>=0];
F=[F lamda_plus>=0];
F=[F miu_minus>=0];
F=[F miu_plus>=0];
F=[F B'*(c+lamda_plus-lamda_minus)+miu_plus-miu_minus+H'*v==0];
F=[F lamda_minus<=M*ommiga_alphaminus_d];
F=[F delta_p_low-(B*f)+p-alpha-d<=M*(1-ommiga_alphaminus_d)];
F=[F lamda_plus<=M*ommiga_alphaplus_d];
F=[F (B*f)-p+alpha+d-delta_p_up<=M*(1-ommiga_alphaplus_d)];
F=[F ommiga_alphaminus_d+ommiga_alphaplus_d<=1];
F=[F miu_minus<=M*ommiga_betaminus_l];
F=[F f_low-f<=M*(1-ommiga_betaminus_l)];
F=[F miu_plus<=M*ommiga_betaplus_l];
F=[F f-f_up<=M*(1-ommiga_betaplus_l)];
F=[F ommiga_betaminus_l+ommiga_betaplus_l<=1];
%% solution
option=sdpsettings('savesolveroutput',1);
diagnostics=optimize(F,obj,option);
result.obj=double(obj);
Answers (1)
hongjiao xue
on 19 Aug 2019
- I have the same problem. Have you solved your problem?
The operation feedback is as follows:
CPXPARAM_Read_APIEncoding "*"
CPXPARAM_MIP_Display 1
Dual infeasible due to empty column 'x1'.
Presolve time = 0.05 sec. (28.89 ticks)
0 Comments
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!