01分数规划模型

问题

求 一 组 解 x 1 , x 2 , x 3 , x 4 . . . x n , x = 0   o r   1 使 得 ∑ i = 1 n a i × x i ∑ i = 1 n b i × x i 最 大 化 求一组解x_1,x_2,x_3,x_4...x_n,x=0\ or \ 1\\ 使得\frac{\sum_{i=1}^{n}a_i\times x_i}{\sum_{i=1}^{n}b_i\times x_i}最大化 x1,x2,x3,x4...xn,x=0 or 1使i=1nbi×xii=1nai×xi

解决

考虑随机一个L,然后假设

存 在 x 1 , x 2 . . . x n , 使 得 ∑ i = 1 n a i × x i ∑ i = 1 n b i × x i > = L 存在{x_1,x_2...x_n},使得\\ \frac{\sum_{i=1}^{n}a_i\times x_i}{\sum_{i=1}^{n}b_i\times x_i}>=L x1,x2...xn,使i=1nbi×xii=1nai×xi>=L

然后化简这个式子:

= = > ==> ==>

a 1 x 1 + a 2 x 2 + a 3 x 3 + . . . + a n x n b 1 x 1 + b 2 x 2 + b 3 x 3 + . . . + b n x n > = L \frac{a_1x_1+a_2x_2+a_3x_3+...+a_nx_n}{b_1x_1+b_2x_2+b_3x_3+...+b_nx_n}>=L b1x1+b2x2+b3x3+...+bnxna1x1+a2x2+a3x3+...+anxn>=L

= = > ==> ==>

a 1 x 1 + a 2 x 2 + a 3 x 3 + . . . + a n x n > = L ∗ ( b 1 x 1 + b 2 x 2 + b 3 x 3 + . . . + b n x n ) a_1x_1+a_2x_2+a_3x_3+...+a_nx_n>=L*(b_1x_1+b_2x_2+b_3x_3+...+b_nx_n) a1x1+a2x2+a3x3+...+anxn>=L(b1x1+b2x2+b3x3+...+bnxn)

= = > ==> ==>

a 1 x 1 − L × b 1 x 1 + a 2 x 2 − L × b 2 x 2 + . . . + a n x n − L × b n x n > = 0 a_1x_1-L\times b_1x_1+a_2x_2-L\times b_2x_2+...+a_nx_n-L\times b_nx_n>=0 a1x1L×b1x1+a2x2L×b2x2+...+anxnL×bnxn>=0

= = > ==> ==>

∑ i = 1 n a i x i − L × b i x i > = 0 \sum_{i=1}^{n}a_i x_i-L\times b_ix_i>=0 i=1naixiL×bixi>=0

也就是说,如果如果可以构造出一组解使得

∑ i = 1 n ( a i − L × b i ) x i > = 0 \sum_{i=1}^{n}(a_i-L\times b_i)x_i>=0 i=1n(aiL×bi)xi>=0

那么我们当前随机的这个L比原式的最大值要小,即

∃ x 1 , x 2 . . . x n , 使 得 ∑ i = 1 n a i × x i ∑ i = 1 n b i × x i > = L \exist{x_1,x_2...x_n},使得\\ \frac{\sum_{i=1}^{n}a_i\times x_i}{\sum_{i=1}^{n}b_i\times x_i}>=L x1,x2...xn,使i=1nbi×xii=1nai×xi>=L

同理,如果构造不出一组解x满足上式,也就是说对于任意的一组解x都有:

∑ i = 1 n ( a i − L × b i ) x i &lt; 0 \sum_{i=1}^{n}(a_i-L\times b_i)x_i&lt;0 i=1n(aiL×bi)xi<0

那么我们随机的这个数比最大值要大即

任 意 x 1 , x 2 . . . x n , 使 得 ∑ i = 1 n a i × x i ∑ i = 1 n b i × x i &lt; L 任意{x_1,x_2...x_n},使得\\ \frac{\sum_{i=1}^{n}a_i\times x_i}{\sum_{i=1}^{n}b_i\times x_i}&lt;L x1,x2...xn,使i=1nbi×xii=1nai×xi<L

根据定理:判定问题普遍比最优问题简单,这种转化是有意义的

具体来讲就是上式中的 a i − L × b i a_i-L\times b_i aiL×bi是可以O(1)算出来的,那么这个问题就相当于是在一堆数中让你选出来一些数然后求这些数的和的最大值,显然直接贪心把所有正数拿出来就好了啊

与二分的关系

很显然,这个式子 ∑ i = 1 n ( a i − L × b i ) x i \sum_{i=1}^{n}(a_i-L\times b_i)x_i i=1n(aiL×bi)xi关于L单调,也就是说,L越大,这个式子的最优解越小,在0处为最优解

单调性是利用二分解决问题的重要前提,就是这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AndrewMe8211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值