求助大佬!!!

n = 55; % 承区数量
m = 25; % 准介方案数量

x = zeros(n, m); % 承区在准介方案中的接待次数
y = ones(n, m); % 景区是否在推分方案中出斑
z = zeros(n, 1); % 象区级别

% 初始化数露
z([1 2 3 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 24 25 26 27 28 29 30 37 38 39 40 41 42 43]) = 1;
tasks = [10*ones(1, 20), 5*ones(1, 5)]; % 每种任务数量

Aeq = zeros(n+m, n*m); % 等式约束矩阵
beq = ones(n+m, 1); % 等式约束向量

% 构造约束条件
for i = 1:n
    for j = 1:m
        Aeq(i, (j-1)*n+i) = 1;
    end
end

for j = 1:m
    Aeq(n+j, (j-1)*n+1:j*n) = z;
    beq(n+j) = 0.5 * sum(y(:, j));
end

% 构造约束条件
for i = 1:n
    for j = 1:m
        Aeq(i, (j-1)*n+1:j*n) = y(i, j);
    end
end


     for i = 1:n
    Aeq(n+j, (i-1)*m+j) = z(i) * y(i, j);
    beq(n+j) = 0.5 * sum(y(:, j));
end

% 求解线性规划
Aeq = [Aeq, zeros(n+m, n)];
f = [zeros(1, n*m), ones(1, n)];
A = [];
b = [];
intcon = 1:n*m;%整数变量
lb = -Inf(size(x));
ub = Inf(size(x));
[x,fval] = intlinprog([zeros(1,n*m),ones(1, n)],intcon,A, b,Aeq, beq,lb,ub);
%输出结檠
disp(['最小差值: ', num2str(fval)]);disp('推介方案如下: ');
for j = 1:m
    disp([ '第',num2str(j),'个方案:']);
    for i = 1:n
        if x((j-1)*n+i) >e
            disp(['景区',num2str(i),'接待次数: ',num2str(x((j-1)*n+i))]);
        end
    end
end

matlab这串代码一直报错是怎么回事儿啊?嫩不能帮忙解决一下

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值