数学建模问题

某单位需要加工制作100套工架,每套工架需用长为2.9m,2.1m和1.5m的圆钢各一根,已知原料长为7.4m,现在的问题是如何下料使得所用的原材料最省。

这是一个相对简单的优化问题,首先你可以求出每一种可能的下料组合,这个可以用计算机编程实现,我帮你编了一下这个程序:clear
chongchang=7.4;ch1=1.5;ch2=2.1;ch3=2.9;h=1;w=1;%其中ch1为最小的,ch2为次小,ch3为最大的
t1=floor(chongchang/ch1);
fangshi=[];
for i=t1:-1:0
for j=floor((chongchang-i*ch1)/ch2):-1:0
for k=floor((chongchang-i*ch1-j*ch2)/ch3):-1:0
fangshi(h,:)=[i j k chongchang-i*ch1-j*ch2-k*ch3];
h=h+1;
end
end
end
disp('所有可能的方式:');
fangshi
for i=1:h-1
if fangshi(i,4)<ch1
p(w,:)=fangshi(i,:);
w=w+1;
end
end
disp('有用的方式:');
p
最后计算出有用的下料组合为1.5米根数2.1米根数2.9米根数余料组合14001.4组合23100.8组合33010组合42200.2组合51110.9组合61020.1组合70301.1组合80210.3 最后用lingo程序编程求出结果: model:
!设x(i)表示按组合i(i=1,2,...,8)下料的根数
yuliao(i)表示组合i的余料;
sets:
zhuhe/1..8/:x,yuliao;
endsets
data:
yuliao=1.4 0.8 0 0.2 0.9 0.1 1.1 0.3;
enddata
min=@sum(zhuhe:x);
x(1)*4+x(2)*3+x(3)*3+x(4)*2+x(5)+x(6)>=100;
x(2)+x(4)*2+x(5)+x(7)*3+x(8)*2>=100;
x(3)+x(5)+x(6)*2+x(8)>=100;
end 结果为:Objective value: 90.00000 X( 1) 0.000000
X( 2) 0.000000
X( 3) 30.00000
X( 4) 0.000000 X( 5) 0.000000
X( 6) 10.00000
X( 7) 0.000000
X( 8) 50.00000
结果表明按组合3下料30根,组合6下料10根,组合8下料50根,最小的总根数90根
温馨提示:答案为网友推荐,仅供参考