故事
我正在尝试使用PuLP(python)最小化来编写棒球消除问题。基本问题如下:
基本上x_ij
是团队i
未来胜过团队j
,g_ij
是团队i
和{{1}之间留下的整体游戏},j
是我们感兴趣的团队,k
是团队迄今为止所拥有的分数。变量p_j
只是辅助,z_j
当团队1
领先于j
(总胜场)而k
领先。{/ p>
问题
根据PuLP和解决优化问题,我没有问题。但是,我想添加一些打破平局的规则,以调整约束,这样,如果,例如,0
,它比较,让我们说,t_j == t_k
与x_jk
来决定是否合作x_kj
提前j
。
问题
所以基本上我需要一个只在特定情况下开始的条件。有没有办法在PuLP中轻松完成这项工作?也许通过引入一些其他变量?如果没有,你会建议用什么模块/方法来解决这种打破平局的事情?
答案 0 :(得分:0)
由于你有许多相互竞争的打破平局规则,你可能需要一个更复杂的目标函数,根据抢七规则奖励或惩罚某些团队。您需要使用目标函数以某种方式“定价”条件。虚拟变量和Big M约束可能对“if / then”条件有用