作者bugu (老实说~我没空)
看板BIOSTAT
标题Re: [问题] 求解
时间Fri Mar 11 02:46:47 2005
以下是小人拙见
也请Dr.玮指正
可以用作业研究里的规划求解作
先在 Excel 中输入以下资料:
( A B C 为行名 1,2,...,8,9 为列数)
A B C
1 80000 2000 x1
2 100000 1400 x2
3 40000 800 x3
4 50000 850 x4
5 40000 1200 x5
6 30000 390 x6
7 80000 1500 x7
8 90000 2200 x8
9
另点一空白储存格(如C9)输入目标储存格函数
以本例而言为 C9=B1*C1+B2*C2+B3*C3+B4*C4+B5*C5+B6*C6+B7*C7+B8*C8
再点一空白储存格(如A9)输入第一个限制式的 L.H.S.
A9=A1*C1+A2*C2+A3*C3+A4*C4+A5*C5+A6*C6+A7*C7+A8*C8
功能表列>工具>规划求解
(如果没有 请先点 工具>增益集>规划求解 打勾)
设定目标储存格: C9
点最大值
变数储存格: $C$1:$C$8
限制式:
$A$9 <= 200,000
$C$1 = binary
$C$2 = binary
.....
.....
$C$8 = binary
再点右上方求解即可得
结果如下:
80000 2000 1
100000 1400 0
40000 800 0
50000 850 0
40000 1200 1
30000 390 0
80000 1500 1
90000 2200 0
200000 4700
结果为
选择 (80000, 2000), (40000,1200), (80000,1500) 这三个集合
是所有 \sum X 不超过 20,000
而使得 \sum Y 最大者 = 4,700
====================================================
另
如果要作多次计算的话
这样点来点去实在不是一个聪明的办法
就写个 Fortran 的小程式吧
如果只作几次的话倒是规划求解比较方便
====================================================
唉 我该去写我的作业了 ...
※ 引述《FrancisWang (简单生活之简约主义)》之铭言:
: 一集合{ (X1,Y1) (X2,Y2) (X3,Y3)…}
: ΣX不得超过 A
: 求 让Σ Y为最大值之组合?
: 实例
: 集合 (80000,2000), (100000,1400), (40000,800), (50000,850)
: (40000,1200), (30000,390), (80000,1500), (90000,2200)
: ΣX 最大值为200,000
: 求让 Σ Y为最大值之组合(集合) 为何?
: what is the effective solution
: ---
: Dr.玮 教一下啦
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.25.201