某家具厂要安排一周的生产计划,产品是桌子和椅子。制作一张桌子需4m2木板及20小时的工时,制作一只椅子需6m2木板及18小时的工时;每周能拥有的木材板料是600m2,可利用的工时是400小时;每张桌子的利润50元,每只椅子的利润是60元。按合同每周至少要交付8张桌子和5只椅子,并假定所有产品都能够销售出去。那么该厂每周生产桌子和椅子的数量分别为多少时,获得的利润最大?
比较好奇答案是多少.....
设x1为每周生产桌子数,x2为每周生产椅子数,则:
Smax=50 x1+60 x2 ①
约束条件:4 x1 +6 x2≤600(材料) ②
20 x1+18 x2≤400(工时) ③
x1≥8,x2≥5 ④
还是好奇答案是多少.....
没装basic,也不会其他编程的东西,用php凑合吧...
$kl=0;
$kw="";
for ($i=8 ;$i < 16;$i++) {
for( $j=5;$j < 14;$j++){
if (( 4*$i + 6*$j <= 600 ) and ( 20*$i+18*$j <= 400 )){
$kc=50*$i+60*$j;
echo "桌子数:$i-椅子数:$j-利润$kc<br />";
if ($kl< $kc){ $kl=50*$i+60*$j; $kw = "最优:桌子数:$i-椅子数:$j-利润$kc<br />";}
}
}
}
echo $kw;
结果:
桌子数:8-椅子数:5-利润700
桌子数:8-椅子数:6-利润760
桌子数:8-椅子数:7-利润820
桌子数:8-椅子数:8-利润880
桌子数:8-椅子数:9-利润940
桌子数:8-椅子数:10-利润1000
桌子数:8-椅子数:11-利润 1060
桌子数:8-椅子数:12-利润1120
桌子数:8-椅子数:13-利润1180
桌子数:9-椅子数:5-利润750
桌子数:9-椅子数:6-利润810
桌子数:9-椅子数:7-利润870
桌子数:9-椅子数:8-利润930
桌子数:9-椅子数:9-利润990
桌子数:9-椅子数:10-利润1050
桌子数:9-椅子数:11-利润1110
桌子数:9-椅子数:12- 利润1170
桌子数:10-椅子数:5-利润800
桌子数:10-椅子数:6-利润860
桌子数:10-椅子数:7-利润920
桌子数:10-椅子数:8-利润980
桌子数:10-椅子数:9-利润1040
桌子数:10-椅子数:10-利润1100
桌子数:10-椅子数:11-利润1160
桌子数:11-椅子数:5-利润850
桌子数:11-椅子数:6-利润910
桌子数:11-椅子数:7-利润970
桌子数:11-椅子数:8-利润1030
桌子数:11-椅子数:9-利润1090
桌子数:11-椅子数:10-利润1150
桌子数:12-椅子数:5-利润900
桌子数:12-椅子数:6-利润960
桌子数:12-椅子数:7-利润1020
桌子数:12-椅子数:8-利润1080
桌子数:13-椅子数:5-利润950
桌子数:13-椅子数:6-利润1010
桌子数:13-椅子数:7-利润1070
桌子数:14-椅子数:5-利润1000
桌子数:14-椅子数:6-利润1060
桌子数:15-椅子数:5-利润1050
最优:桌子数:8-椅子数:13-利润1180
椅子的利润高啊,似乎椅子越多越好..... 2010年5月19日第2次编辑
今年讲到系统的优化,所以代码再优化一下.
$kl=0;
$kw="";
for ($i=8 ;$i < 16;$i++) {
$a=floor((600 - 4*$i )/6);
$b=floor((400 - 20*$i )/18);
if( $a > $b ) { $j=$b;
}else{
$j=$a;
}
$kc=50*$i+60*$j;
echo "桌子数:$i-椅子数:$j-利润$kc<br />";
if ($kl< $kc){ $kl=50*$i+60*$j; $kw = "最优:桌子数:$i-椅子数:$j-利润$kc<br />";}
}
echo $kw;
桌子数:8-椅子数:13-利润1180
桌子数:9-椅子数:12-利润1170
桌子数:10-椅子数:11-利润1160
桌子数:11-椅子数:10-利润1150
桌子数:12-椅子数:8-利润1080
桌子数:13-椅子数:7-利润1070
桌子数:14-椅子数:6-利润1060
桌子数:15-椅子数:5-利润1050
最优:桌子数:8-椅子数:13-利润1180