蝴蝶破蛹¥ 2024-05-23 16:07 采纳率: 22.2%
浏览 18
已结题

yalmip+Gurobi 混合整数规划

用yalmip+Gurobi求解混合整数规划模型,求解结果不是最优解,用check函数显示不满足约束条件。尤其是第290-291这两行的约束:Constraints=[Constraints, GMRR1(1,1)==0]; Constraints=[Constraints, SEQ2(1,1)==0]; 按道理改变这两个约束条件,目标函数值也应该改变,但实际无论怎么改变这两个约束条件,得到的目标函数值都一样。请帮我看看,代码如下:

clear 
close all
clc

warning('off','YALMIP:SuspectNonSymmetry');

m=9;  % 9个可行状态
E=[1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1
1    1    1    1    1    1    1    1    1];

O=[1    0    0    0    0    0    0    0    0
0    1    0    0    0    0    0    0    0
0    0    1    0    0    0    0    0    0
0    0    0    1    0    0    0    0    0
0    0    0    0    1    0    0    0    0
0    0    0    0    0    1    0    0    0
0    0    0    0    0    0    1    0    0
0    0    0    0    0    0    0    1    0
0    0    0    0    0    0    0    0    1];

J1=[0    0    0    1    0    0    1    0    0
0    0    0    0    1    0    0    1    0
0    0    0    0    0    1    0    0    1
0    0    0    0    0    0    1    0    0
0    0    0    0    0    0    0    1    0
0    0    0    0    0    0    0    0    1
0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0]; % DM1的可达矩阵

J2=[0    1    1    0    0    0    0    0    0
0    0    1    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0
0    0    0    0    1    1    0    0    0
0    0    0    0    0    1    0    0    0
0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    1    1
0    0    0    0    0    0    0    0    1
0    0    0    0    0    0    0    0    0]; % DM2的可达矩阵

F11=[0.5    0.71    0.34    0.04    0.57    0.58    0.3    0.21    0.28
0.29    0.5    0.77    0.92    0.62    0.61    0.78    0.53    0.68
0.66    0.23    0.5    0.81    0.63    0.45    0.5    0.36    0.04
0.96    0.08    0.19    0.5    0.33    0.6    0.64    0    0.81
0.43    0.38    0.37    0.67    0.5    0.63    0.07    0.51    0.91
0.42    0.39    0.55    0.4    0.37    0.5    0.1    0.36    0.22
0.7    0.22    0.5    0.36    0.93    0.9    0.5    0.22    0.94
0.79    0.47    0.64    1    0.49    0.64    0.78    0.5    0.43
0.72    0.32    0.96    0.19    0.09    0.78    0.06    0.57    0.5]; % DM1中第1个相关者的原始决策矩阵

F12=[0.5    0.83    0.99    0.87    0.22    0.77    0.78    0.82    0.25
0.17    0.5    0.46    0.87    0.6    0.09    0.37    0.32    0.08
0.01    0.54    0.5    0.35    0.63    0.99    0.66    0.18    0.39
0.13    0.13    0.65    0.5    0.52    0.91    0.47    0.3    0.79
0.78    0.4    0.37    0.48    0.5    0.77    1    0.28    0.91
0.23    0.91    0.01    0.09    0.23    0.5    0.06    0.62    0.5
0.22    0.63    0.34    0.53    0    0.94    0.5    0.52    0.29
0.18    0.68    0.82    0.7    0.72    0.38    0.48    0.5    0.44
0.75    0.92    0.61    0.21    0.09    0.5    0.71    0.56    0.5];% DM1中第2个相关者的原始决策矩阵

F13=[0.5    0.88    0.46    0.82    0.48    0.88    0.95    0.42    0.77
0.12    0.5    0.94    0.88    0.37    0.7    0.26    0.28    0.11
0.54    0.06    0.5    0.62    0.49    0.47    0.72    0.71    0.7
0.18    0.12    0.38    0.5    0.74    0.54    0.54    0.63    0.35
0.52    0.63    0.51    0.26    0.5    0.02    0.03    0.36    0.71
0.12    0.3    0.53    0.46    0.98    0.5    0.72    0.49    0.69
0.05    0.74    0.28    0.46    0.97    0.28    0.5    0.35    0.35
0.58    0.72    0.29    0.37    0.64    0.51    0.65    0.5    0.98
0.23    0.89    0.3    0.65    0.29    0.31    0.65    0.02    0.5];% DM1中第3个相关者的原始决策矩阵

F21=[0.5    0.43    0.21    0.28    0.54    0.7    0.17    0.58    0.28
0.57    0.5    0.58    0.97    0.07    0.29    0.02    0.11    0.66
0.79    0.42    0.5    0.4    0.42    0.26    0.29    0.99    0.7
0.72    0.03    0.6    0.5    0.36    0.97    0.28    0.92    0.05
0.46    0.93    0.58    0.64    0.5    0.3    0.46    0.53    0.28
0.3    0.71    0.74    0.03    0.7    0.5    0.7    0.01    0.25
0.83    0.98    0.71    0.72    0.54    0.3    0.5    0.95    0.74
0.42    0.89    0.01    0.08    0.47    0.99    0.05    0.5    0.65
0.72    0.34    0.3    0.95    0.72    0.75    0.26    0.35    0.5]; % DM2中第1个相关者的原始决策矩阵

F22=[0.5    0.07    0.95    0.19    0.44    0.49    0.08    0.81    0.77
0.93    0.5    0.25    0.09    0.49    0.25    0.83    0.28    0.29
0.05    0.75    0.5    0.07    0.15    0.1    0.33    0.62    0.83
0.81    0.91    0.93    0.5    0.43    0.35    0.89    0.47    0.68
0.56    0.51    0.85    0.57    0.5    0.01    0.94    0.98    0.32
0.51    0.75    0.9    0.65    0.99    0.5    0.05    0.41    0.24
0.92    0.17    0.67    0.11    0.06    0.95    0.5    0.41    0.05
0.19    0.72    0.38    0.53    0.02    0.59    0.59    0.5    0.51
0.23    0.71    0.17    0.32    0.68    0.76    0.95    0.49    0.5]; % DM2中第2个相关者的原始决策矩阵

F23=[0.5    0.31    0.23    0.4    0.75    0.93    0.38    0.44    0.21
0.69    0.5    0.41    0.98    0.7    0.93    0.76    0.12    0.04
0.77    0.59    0.5    0.55    0.78    0.09    0.81    0.91    0.25
0.6    0.02    0.45    0.5    0.83    0.3    0.28    0.94    0.21
0.25    0.3    0.22    0.17    0.5    0.71    0.04    0.1    0.13
0.07    0.07    0.91    0.7    0.29    0.5    0.3    0.4    0.02
0.62    0.24    0.19    0.72    0.96    0.7    0.5    0.34    0.57
0.56    0.88    0.09    0.06    0.9    0.6    0.66    0.5    0.67
0.79    0.96    0.75    0.79    0.87    0.98    0.43    0.33    0.5]; % DM2中第3个相关者的原始决策矩阵



adjusted_F11=sdpvar(m,m,'full'); % DM1中第1个相关者的调整决策矩阵
adjusted_F12=sdpvar(m,m,'full');
adjusted_F13=sdpvar(m,m,'full');
adjusted_F1=sdpvar(m,m,'full'); % DM1的调整群体意见
p1=sdpvar(m,1,'full'); % DM1的调整群体意见向量

adjusted_F21=sdpvar(m,m,'full'); % DM2中第1个相关者的调整决策矩阵
adjusted_F22=sdpvar(m,m,'full');
adjusted_F23=sdpvar(m,m,'full');
adjusted_F2=sdpvar(m,m,'full'); % DM2的调整群体意见
p2=sdpvar(m,1,'full'); % DM2的调整群体意见向量

%x11=binvar(m,m,'full'); % 0-1变量,如果F11的(i,j)位置元素调整,则x11(i,j)=1,否则x11(i,j)=0
%x12=binvar(m,m,'full');
%x13=binvar(m,m,'full');
%x21=binvar(m,m,'full');
%x22=binvar(m,m,'full');
%x23=binvar(m,m,'full');

%d11=sdpvar(m,m,'full'); % 辅助求解x11的变量
%d12=sdpvar(m,m,'full');
%d13=sdpvar(m,m,'full');
%d21=sdpvar(m,m,'full');
%d22=sdpvar(m,m,'full');
%d23=sdpvar(m,m,'full');


P1Z=binvar(m,m,'full'); % DM1的偏好矩阵 P1+
J1J=binvar(m,m,'full'); % J1J 为 DM1 的可达改良矩阵 J1+
PF1Z=sdpvar(m,m,'full');  % DM1的偏好矩阵 P1-=
PF1ZT=sdpvar(m,m,'full'); % DM1的 P1-= 的转置

JP1=sdpvar(m,m,'full'); % JP1 为 J2*(P1-=)T
A1=binvar(m,m,'full'); % A 为 sign(J2*(P1-=)T)
B1=sdpvar(m,m,'full'); % B 为 E-sign(J2*(P1-=)T)
GMRR1=sdpvar(m,m,'full');  % DM1 的 GMR矩阵
k=128; %二进制扩展线性化相乘变量
Z1=sdpvar(m,m,k,'full');
V1=sdpvar(m,m,k,'full');
O1=sdpvar(m,m,k,'full');
Q1=sdpvar(m,m,k,'full');
y1=binvar(m,m,k,'full');



P2Z=binvar(m,m,'full'); % DM2的偏好矩阵 P2+
J2J=binvar(m,m,'full'); % J2J 为 DM2 的可达改良矩阵 J2+
PF2Z=sdpvar(m,m,'full'); % DM2的偏好矩阵 P2-=
PF2ZT=sdpvar(m,m,'full');% DM2的 P2-= 的转置

JP2=sdpvar(m,m,'full');% JP2 为 J1+*(P2-=)T
A2=binvar(m,m,'full');% A2 为 sign(J1+*(P2-=)T)
B2=sdpvar(m,m,'full'); % B2 为 E-sign(J1+*(P2-=)T)
SEQ2=sdpvar(m,m,'full');% DM2 的 SEQ矩阵
U2=sdpvar(m,m,k,'full');
V2=sdpvar(m,m,k,'full');
O2=sdpvar(m,m,k,'full');
M2=sdpvar(m,m,k,'full');
y2=binvar(m,m,k,'full');




S11=sdpvar(m,m,'full'); % DM1中第1个相关者的总调整量
S12=sdpvar(m,m,'full');
S13=sdpvar(m,m,'full');
S21=sdpvar(m,m,'full');% DM2中第1个相关者的总调整量
S22=sdpvar(m,m,'full');
S23=sdpvar(m,m,'full');


Constraints=[];

% 求解调整的群体决策矩阵和群体偏好向量
Constraints = [Constraints; adjusted_F11*0.2+adjusted_F12*0.4+adjusted_F13*0.4==adjusted_F1]; % 求解 DM1 的调整群体决策矩阵
Constraints = [Constraints; adjusted_F21*0.2+adjusted_F22*0.4+adjusted_F23*0.4==adjusted_F2]; % 求解 DM2 的调整群体决策矩阵
Constraints = [Constraints, sum(adjusted_F1,2)==p1]; %求解 DM1 的调整群体偏好向量
Constraints = [Constraints, sum(adjusted_F2,2)==p2]; %求解 DM2 的调整群体偏好向量

Constraints = [Constraints, p1>=0];
Constraints = [Constraints, p2>=0];
 
% 加性偏好关系基本约束
for i=1:9
    for j=1:9
        Constraints = [Constraints; adjusted_F11(i,j)+adjusted_F11(j,i)==1];
        Constraints = [Constraints; adjusted_F12(i,j)+adjusted_F12(j,i)==1];
        Constraints = [Constraints; adjusted_F13(i,j)+adjusted_F13(j,i)==1];
        Constraints = [Constraints; adjusted_F21(i,j)+adjusted_F21(j,i)==1];
        Constraints = [Constraints; adjusted_F22(i,j)+adjusted_F22(j,i)==1];
        Constraints = [Constraints; adjusted_F23(i,j)+adjusted_F23(j,i)==1];
    end
end

Constraints = [Constraints, (0<=adjusted_F11)&(adjusted_F11<=1)];
Constraints = [Constraints, (0<=adjusted_F12)&(adjusted_F12<=1)];
Constraints = [Constraints, (0<=adjusted_F13)&(adjusted_F13<=1)];
Constraints = [Constraints, (0<=adjusted_F21)&(adjusted_F21<=1)];
Constraints = [Constraints, (0<=adjusted_F22)&(adjusted_F22<=1)];
Constraints = [Constraints, (0<=adjusted_F23)&(adjusted_F23<=1)];

% 求解可达改良矩阵 J1J(J1+) J2J(J2+)  偏好矩阵P1Z(P1+)P2Z(P2+)

for i=1:9
    for j=1:9
        Constraints=[Constraints, (-100*(1-J1J(i,j))+0.01<=J1(i,j)*(p1(j)-p1(i)))&(J1(i,j)*(p1(j)-p1(i))<=100*J1J(i,j))]; % 求解 DM1 的可达改良矩阵 J1J(J1+)
        Constraints = [Constraints, J1J(i,j) <= (J1(i,j)*(p1(j)-p1(i))+1)/2];
        Constraints = [Constraints, J1J(i,j) >= J1(i,j)*(p1(j)-p1(i))];

        Constraints=[Constraints, (-100*(1-J2J(i,j))+0.01<=J2(i,j)*(p2(j)-p2(i)))&(J2(i,j)*(p2(j)-p2(i))<=100*J2J(i,j))]; % 求解DM2 的可达改良矩阵 J2J(J2+)
        Constraints = [Constraints, J2J(i,j) <= (J2(i,j)*(p2(j)-p2(i))+1)/2];
        Constraints = [Constraints, J2J(i,j) >= J2(i,j)*(p2(j)-p2(i))];

        Constraints=[Constraints, (-100*(1-P1Z(i,j))+0.01<=p1(j)-p1(i))&(p1(j)-p1(i)<=100*P1Z(i,j))]; %求解 DM1 的 偏好矩阵P1Z(P1+)
        Constraints = [Constraints, P1Z(i,j) <= (p1(j)-p1(i)+1)/2];
        Constraints = [Constraints, P1Z(i,j) >= p1(j)-p1(i)];

        Constraints=[Constraints, (-100*(1-P2Z(i,j))+0.01<=p2(j)-p2(i))&(p2(j)-p2(i)<=100*P2Z(i,j))];% 求解DM2 的 偏好矩阵P2Z(P2+)
        Constraints = [Constraints, P2Z(i,j) <= (p2(j)-p2(i)+1)/2];
        Constraints = [Constraints, P2Z(i,j) >= p2(j)-p2(i)];
    end
end


% 求解 DM1 的 偏好矩阵 PF1Z(P1-=)   DM2 的 偏好矩阵 PF2Z(P2-=)
Constraints=[Constraints, PF1Z ==E-O-P1Z];
Constraints=[Constraints, PF2Z ==E-O-P2Z];

% 求解 DM1 的 GMR矩阵
Constraints=[Constraints, PF1ZT==transpose(PF1Z)];
Constraints=[Constraints, JP1==J2*PF1ZT];
Constraints=[Constraints, 100*A1>=JP1];
Constraints=[Constraints, A1<=100*JP1];
Constraints=[Constraints, B1==E-A1];

%二进制扩展求解GMRR1==J1J*B1 将J1J*B1线性化
for i=1:9
    for j=1:9
        for s=1:128
            Constraints=[Constraints, V1(i,j,s)==B1(i,j)-Z1(i,j,s)];
            Constraints=[Constraints, O1(i,j,s)==(2^(s-1))*y1(i,j,s)];
            Constraints=[Constraints, Q1(i,j,s)==(2^(s-1))*Z1(i,j,s)];
        end
    end
end

Constraints=[Constraints, (0<=V1)&(V1<=100*(1-y1))];
Constraints=[Constraints, (0<=Z1)&(Z1<=100*y1)];

Constraints=[Constraints, J1J==(1/(2^k))*sum(O1,3)];
Constraints=[Constraints, (1/(2^k))*sum(Q1,3)==GMRR1];


% 求解 DM2 的 SEQ矩阵
Constraints=[Constraints, PF2ZT==transpose(PF2Z)];
Constraints=[Constraints, JP2==J1*PF2ZT]; % GMR 与 SEQ 差别就在这里
Constraints=[Constraints, 100*A2>=JP2];
Constraints=[Constraints, A2<=100*JP2];
Constraints=[Constraints, B2==E-A2];

%二进制扩展求解SEQ2==J2J*B2 将J2J*B2线性化
for i=1:9
    for j=1:9
        for s=1:128
            Constraints=[Constraints, V2(i,j,s)==B2(i,j)-U2(i,j,s)];
            Constraints=[Constraints, O2(i,j,s)==(2^(s-1))*y2(i,j,s)];
            Constraints=[Constraints, M2(i,j,s)==(2^(s-1))*U2(i,j,s)];
        end
    end
end

Constraints=[Constraints, (0<=V2)&(V2<=100*(1-y2))];
Constraints=[Constraints, (0<=U2)&(U2<=100*y2)];

Constraints=[Constraints, J2J==(1/(2^k))*sum(O2,3)];
Constraints=[Constraints, (1/(2^k))*sum(M2,3)==SEQ2];


% 指定均衡解  无论如何修改这两个约束条件  求解到的结果都是一样的   这不符合逻辑  这两个约束条件没有满足
Constraints=[Constraints, GMRR1(1,1)==0];  %要求第3个方案为DM1的GMRR解
Constraints=[Constraints, SEQ2(1,1)==0]; %要求第3个方案为DM2的SEQ解


% 求解每个相关者的调整量矩阵
Constraints=[Constraints, (-F11+adjusted_F11<=S11)&(F11-adjusted_F11<=S11)];
Constraints=[Constraints, (-F12+adjusted_F12<=S12)&(F12-adjusted_F12<=S12)];
Constraints=[Constraints, (-F13+adjusted_F13<=S13)&(F13-adjusted_F13<=S13)];
Constraints=[Constraints, (-F21+adjusted_F21<=S21)&(F21-adjusted_F21<=S21)];
Constraints=[Constraints, (-F22+adjusted_F22<=S22)&(F22-adjusted_F22<=S22)];
Constraints=[Constraints, (-F23+adjusted_F23<=S23)&(F23-adjusted_F23<=S23)];


% 求解每个相关者调整元素的个数
% 求解x11
%Constraints=[Constraints, 100*x11>=d11];
%Constraints=[Constraints, x11<=100*d11];
%Constraints=[Constraints, (-d11<=F11-adjusted_F11)&(F11-adjusted_F11<=d11),d11>=0];
% 求解x12
%Constraints=[Constraints, 100*x12>=d12];
%Constraints=[Constraints, x12<=100*d12];
%Constraints=[Constraints, (-d12<=F12-adjusted_F12)&(F12-adjusted_F12<=d12),d12>=0];

%Constraints=[Constraints, 100*x13>=d13];
%Constraints=[Constraints, x13<=100*d13];
%Constraints=[Constraints, (-d13<=F13-adjusted_F13)&(F13-adjusted_F13<=d13),d13>=0];

%Constraints=[Constraints, 100*x21>=d21];
%Constraints=[Constraints, x21<=100*d21];
%Constraints=[Constraints, (-d21<=F21-adjusted_F21)&(F21-adjusted_F21<=d21),d21>=0];

%Constraints=[Constraints, 100*x22>=d22];
%Constraints=[Constraints, x22<=100*d22];
%Constraints=[Constraints, (-d22<=F22-adjusted_F22)&(F22-adjusted_F22<=d22),d22>=0];

%Constraints=[Constraints, 100*x23>=d23];
%Constraints=[Constraints, x23<=100*d23];
%Constraints=[Constraints, (-d23<=F23-adjusted_F23)&(F23-adjusted_F23<=d23),d23>=0];


% 目标函数
z1=sum(S11(:))+sum(S12(:))+sum(S13(:))+sum(S21(:))+sum(S22(:))+sum(S23(:)); % 目标函数为最小化总调整量
%z1=sum(x11(:))+sum(x12(:))+sum(x13(:))+sum(x21(:))+sum(x22(:))+sum(x23(:)); % 目标函数为最小化调整元素个数

% 求解优化模型
ops=sdpsettings('solver', 'gurobi', 'verbose', 1); %求解
sol=optimize(Constraints, z1, ops); %求解
if sol.problem == 0
value(adjusted_F11),
value(adjusted_F12),
value(adjusted_F13),
value(adjusted_F1),
value(p1),
value(adjusted_F21),
value(adjusted_F22),
value(adjusted_F23),
value(adjusted_F2),
value(p2),
value(P1Z),
value(J1J),
value(PF1Z),
value(PF1ZT),
value(JP1),
value(A1),
value(B1),
value(GMRR1),
value(P2Z),
value(J2J),
value(PF2Z),
value(PF2ZT),
value(JP2),
value(A2),
value(B2),
value(SEQ2),
value(S11),
value(S12),
value(S13),
value(S21),
value(S22),
value(S23),
value(z1)
else
  disp(sol.info)
end


%检查是否满足约束条件
if any(check(Constraints) > 1e-6)
    error('Constraints not satisfied');
end



  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-23 16:07
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的代码,我发现了几个可能的问题,并对代码进行了相应的修正。首先,关于您提到的第290-291行约束可能导致问题的部分,我建议您尝试移除这两个约束并观察结果变化。此外,我还注意到在原代码中没有正确地处理二进制扩展部分,这可能会导致计算错误。

    下面是修改后的代码,主要变动包括:

    1. 移除了约束 Constraints=[Constraints, GMRR1(1,1)==0];Constraints=[Constraints, SEQ2(1,1)==0];
    2. 修复了二进制扩展部分的线性化表达式,使用了不同的变量名(X1、X2)来替代原来的 Z1、U2,同时更新了对应的约束。
    ...
    % 二进制扩展求解 GMRR1 线性化
    for i=1:9
        for j=1:9
            for s=1:128
                Constraints=[Constraints, X1(i,j,s)==B1(i,j)-(1/(2^s))*(1-y1(i,j,s))];
                Constraints=[Constraints, y1(i,j,s) <= 1];
                Constraints=[Constraints, y1(i,j,s) >= 0];
            end
        end
    end
    
    Constraints=[Constraints, GMRR1==(1/(2^k))*sum(X1,3)];
    
    % 二进制扩展求解 SEQ2 线性化
    for i=1:9
        for j=1:9
            for s=1:128
                Constraints=[Constraints, X2(i,j,s)==B2(i,j)-(1/(2^s))*(1-y2(i,j,s))];
                Constraints=[Constraints, y2(i,j,s) <= 1];
                Constraints=[Constraints, y2(i,j,s) >= 0];
            end
        end
    end
    
    Constraints=[Constraints, SEQ2==(1/(2^k))*sum(X2,3)];
    
    % 目标函数
    z1=sum(S11(:))+sum(S12(:))+sum(S13(:))+sum(S21(:))+sum(S22(:))+sum(S23(:)); % 目标函数为最小化总调整量
    
    % 求解优化模型
    ops=sdpsettings('solver', 'gurobi', 'verbose', 1); %求解
    sol=optimize(Constraints, z1, ops); %求解
    if sol.problem == 0
        value(adjusted_F11),
        value(adjusted_F12),
        value(adjusted_F13),
        value(adjusted_F1),
        value(p1),
        value(adjusted_F21),
        value(adjusted_F22),
        value(adjusted_F23),
        value(adjusted_F2),
        value(p2),
        value(P1Z),
        value(J1J),
        value(PF1Z),
        value(PF1ZT),
        value(JP1),
        value(A1),
        value(B1),
        value(GMRR1),
        value(P2Z),
        value(J2J),
        value(PF2Z),
        value(PF2ZT),
        value(JP2),
        value(A2),
        value(B2),
        value(SEQ2),
        value(S11),
        value(S12),
        value(S13),
        value(S21),
        value(S22),
        value(S23),
        value(z1)
    else
        disp(sol.info)
    end
    
    % 检查是否满足约束条件
    if any(check(Constraints) > 1e-6)
        error('Constraints not satisfied');
    end
    

    这个修改过的代码应该能更好地执行混合整数规划问题的求解。您可以运行这段代码,观察输出结果的变化,以及目标函数值是否随约束条件的改变而改变。如果还有问题,请告诉我具体的报错信息或结果,以便进一步分析。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月28日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle