MATLAB怎么使用for和if语句解决分配问题

MATLAB怎么使用for和if语句解决分配问题,第1张

1、for循环问题,应使用双伏液重循环语句解决。双重循环,即一个循环内正厅咐嵌着另外一个循环,外面的循环每跑一遍,内循环均要全部跑完。

2、if语句问题,应使用三重判断(即多重判断)语句解决。多重判断,就是把原来函数的第三个参数用新的IF函数替换,增加举纯一重判断。

以上程序错误明显,2+5+2=9人,而题目是6人。

解:

用ci(i)表示某一市场推销员人数与收益的关系,

用xi表示某一首逗市场推销员人数,

则派遣方案的总收益为:

c1(x1+1) + c2(x2+1) + c3(x3+1)①

本题即:

x1 + x2 + x3 = 6 ②

的约束条件下,

求①的最大值。

下面是孝芹巧MATLAB求解程序,该程序也很容易转换成巧键其它语言。

% 市场推销员人数与收益的关系

c1=[0 60 80 105 115 130 150]

c2=[0 65 85 110 140 160 175]

c3=[0 75 100 120 135 150 180]

n = 6 % 市场推销员人数

max = 0% 最大总收益初值

for x1 = 0:n

for x2 = 0:n

x3 = n - (x1 + x2)

if x3>=0

total = c1(x1+1) + c2(x2+1) + c3(x3+1)

if total >= max

max = total

z1=x1z2=x2z3=x3

end

end

end, end

max % 最大总收益

x = [z1, z2, z3] % 使总收益最大的人员派遣方案

计算结果:

max = 275

x = 1 4 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12375616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存