一道国外教材上的题目,请教各位有没有更好的解法
有商人打算通过打广告的方式增加自己产品的曝光度,他一共有9个广告媒介可以选择。媒介的具体信息如下:
目标:当地曝光度(local exposure)最大化
限制条件如下:
1、总投入不得超过20000美元;
2、国内曝光度(national exposure)不得小于4000
3、广告总条数不得超过100;
4、最多只能选择6家广告商。
我的解题思路是:
x1~x9: 整数变量, 分别表示从九个媒介出订购的广告数量
y1~y9: 0-1变量,1表示从这家媒介购买广告,0表示不从这家媒介购买广告
目标函数: min 110*x1 + 55*x2 + 80*x3 + 65*x4 + 400*x5 + 220*x6 + 35*x7 +10*x8 + 20*x9
约束条件
80*x1 + 65*x2 + 250*x3 +225*x4 + 500*x5 + 300*x6 + 55*x7 + 350*x8 + 300*x9 <= 20000
40*x1 + 20*x2 + 5*x3 +8*x4 + 70*x5 + 40*x6 + 0*x7 + 75*x8 + 65*x9 >= 4000
x1 + x2 + x3 +x4 + x5 + x6 + x7 + x8 + x9 <= 100
y1 + y2 + y3 +y4 + y5 + y6 + y7 + y8 + y9 <=6
x1 - 30*y1 <= 0
x2 - 30*y2 <= 0
...
x9 - 12y9 <= 0
因为有两组变量,所以在R里面,需要把约束条件中不存在的变量系数补全
(例如目标函数成为了:110*x1 + 55*x2 + 80*x3 + 65*x4 + 400*x5 + 220*x6 + 35*x7 +10*x8 + 20*x9 +0*y1 +0*y2 + ... + 0*y9)
虽然最后结果没问题,但是我觉得这么计算在变量数量增加(比如有100个x和100个y)或者变量种类增加(除了x,y 还有z)的情况下,会导致处理起来十分困难。
特请教各位有没有更好的办法


雷达卡



京公网安备 11010802022788号







