%% 使用intlinprog求解指派问题
% 输入指派矩阵
C = [
3 8 2 10 3;
8 7 2 9 7;
6 4 2 7 5;
8 4 2 3 5;
9 10 6 9 10
];
f = C(:); %生成一个列向量,作为目标函数系数,matlab默认以列排序
[m,n] = size(C);
Aeq = zeros(2*n,n*n); %2*n个等式约束,n*n个变量
for i = 1:n %这里先生成的是后5个等式约束的左端项
Aeq(1:n, 1+(i-1)*n:i*n) = eye(n,n);
end
for i = 1:n %前5个等式约束左端项
Aeq(i+n, 1+(i-1)*n:i*n) = ones(1,n);
end
beq = ones(2*n,1);
lb = zeros(n*n,1);
ub = ones(n*n,1);
x = linprog(f',[],[],Aeq,beq,lb,ub); %线性规划函数
y = reshape(x,n,n); %将上式求出的x值变成n阶矩阵
y = y'; %上式生成的是按列排列的,所以转致一下
y = round(y); %对y元素取整,生成匹配矩阵
sol = zeros(n,n);
for i=1:n
for j=1:n
if y(i,j)==1
sol(i,j)=C(j,i); %匹配矩阵
end
end
end
fval=sum(sol(:)); %极小值的目标函数值
美赛数学建模算法-使用Matlab实现整数规划IntegerProgramming-国赛-题解.zip
版权申诉
193 浏览量
2024-05-22
13:58:10
上传
评论
收藏 3KB ZIP 举报
__AtYou__
- 粉丝: 1903
- 资源: 648
最新资源
- ST3007SRG-VB一款SOT23封装P-Channel场效应MOS管
- 资源专区-课程设计-编程作业-【docker配置使用】资源&&详细讲解使用
- 基于microPython开发单片机实现utf-8转gb2312
- kmp算法的C语言实现项目源代码课设.zip
- dbeaver-ce-24.1.0
- 资源专区-小白必看-通信仿真资源-傅里叶变换、滤波器、FFT等经典算法
- 计算机毕设论文&作业&学习资料&项目源码&教程-基于深度学习的图像识别系统
- 小红书整体框架玩法 pdf
- javaweb管理系统软件设计与分析期末大作业.zip
- mongodb-linux-x86-64-rhel70-4.0.28.tgz
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈