最优化基础任务分配规划(优化果真不是谁都能做的)

12 篇文章 7 订阅 ¥69.90 ¥99.00
本文通过一个王者荣耀战队的选手线路分配问题,介绍了如何利用0-1规划解决最优化问题。目标是最大化选手综合评分,通过设置0-1变量表示选手是否选择特定线路,并建立目标函数与约束条件。尽管尝试过程中遇到困难,作者仍分享了这一学习过程。
摘要由CSDN通过智能技术生成

(前方废柴大坑请注意,慎入,读了就是在浪费生命,我已经浪费5个小时了)
一个王者荣耀战队,5名电竞参赛选手参加比赛,根据以往的训练收集数据进行综合评分(满分20分)得到如下结果:

t i j t_{ij} tij发育路A辅助B中路C打野D对抗路E
1356910
24881113
369101214
4810101516
51313171820

如何确定每一位选手适合的线路使得比赛赢得几率增大呢?(咳咳,我大概就是那个坑队友的1号选手,走哪条路都不行,打分都在平均分之下;嗷嗷嗷,荣耀大神就不一样了,不仅仅自己擅长的玩的666,别的也在平均分之上,羡慕(
那么,我们的目标是找到综合分数最高的匹配。如何构建我们的目标函数呢?
在这里我们介绍一种最优化模型0-1规划。

If the variable x can take only one of the discrete variables ( d 1 d_1 d1, d 2 d_2 d2, …, d n d_n dn) (integer or not) then it is possible to introduce n supplementary binary variables y i y_i yi and 2 equality constraints

我们的变量实际上是25个0-1值变量。
x i j = 1 如 果 选 手 i 选 择 了 路 线 j ; x i j = 0 其 他 情 况 x_{ij} = 1 \quad 如果选手i选择了路线j; x_{ij} = 0 \quad 其他情况 xij=1i线jxij=0
所以,我们的目标函数如下: m a x f = ∑ i = 1 5 ∑ j = 1 5 t i j x i j max \quad f = \sum_{i=1}^5\sum_{j=1}^5 t_{ij}x_{ij} maxf=i=15j=15tijxij
我们可以选择一个初始情况:

x i j x_{ij} xij发育路A辅助B中路C打野D对抗路E
101000
200010
300100
410000
500001

如何确定我们的约束函数?最开始我的脑袋只是想到了一个不完美的约束条件 ∑ i = 1 5 x i j = 5 \sum_{i=1}^5 x_{ij} = 5 i=15xij=5但这不符合一般意义上的匹配,我们希望不要有路线重复。
如果把25个待优化变量看作是 5 × 5 5\times 5 5×5的矩阵,我们的完美约束如下:
每 一 行 i : g ( k ) = ∑ j = 1 5 x i j = 1 每一行i:g(k) = \sum_{j=1}^5x_{ij}=1 ig(k)=j=15xij=1
每 一 列 j : g ( l ) = ∑ i = 1 5 x i j = 1 每一列j:g(l) = \sum_{i=1}^5x_{ij}=1 jg(l)=i=15xij=1

一般情况,如果数据量不大的话,我们可以使用Matlab中的0-1规划函数,R2014开始有intlinprog函数。但问题是我们的是25个变量,不能用整数规划(
今日成就:用5个小时尝试了一个错误的方法,悲伤逆流成河,从数学模型到代码实现隔着20亿光年的孤独,悲伤到变形(
背景音乐:《你的酒馆对我打了烊》

你出现 就沉醉了时间
没有酒 我像个荒诞的可怜人
可是你 却不曾施舍二两
你的酒馆对我打了烊
子弹在我心头上了膛
请告诉我今后怎么扛
遍体鳞伤还笑着原谅
你的酒馆对我打了烊
承诺是小孩子说的谎
请告诉我今后怎么扛
你无关痛痒
我敬你 给我感动欢喜
为了你 杀光了世间的烂俗人
可是你 却不曾施舍二两
你的酒馆对我打了烊
子弹在我心头上了膛
请告诉我今后怎么扛
遍体鳞伤还笑着原谅
你的酒馆对我打了烊
承诺是小孩子说的谎
请告诉我今后怎么扛
你无关痛痒
转啊转啊转啊转啊转
没能转进你的心上
看啊看啊看啊看啊看
谁能再把自己点亮
你的酒馆对我打了烊
子弹在我心头上了膛
请告诉我今后怎么扛
遍体鳞伤还笑着原谅
你的酒馆对我打了烊
承诺是小孩子说的谎
请告诉我今后怎么扛
你无关痛痒
请告诉我今后怎么扛
你无关痛痒

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

肥鼠路易

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

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

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

打赏作者

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

抵扣说明:

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

余额充值