也许与直觉相反的是,增加更多的约束条件有助于求解器更快地找到最优解 。为什么会出现这种情况呢?把求解器想象成一棵树:约束条件帮助它修剪分支,减少搜索空间 。
在我们的案例中,我们可以用来生产单位的资源数量有限 。换句话说,我们不能花费超过我们所拥有的资源:例如,用于招募单位的食物不能高于1200 。木材(800)和黄金(600)的情况也是如此 。
根据我们的表格,单位有以下成本 。
- 1个剑客 = 60 + 20 。
- 1弓箭手 = 80 + 10 + 40 。
- 1个骑士=140 + 100 。

文章插图
在OR-Tools中,我们只需用solver.Add()将约束添加到我们的求解器实例中 。
# Add constraints for each resourcesolver.Add(swordsmen*60 + bowmen*80 + horsemen*140 <= 1200) # Foodsolver.Add(swordsmen*20 + bowmen*10 <= 800) # Woodsolver.Add(bowmen*40 + horsemen*100 <= 600) # GoldIV.目标现在我们有了我们的变量和约束条件,我们要定义我们的目标(或目标函数) 。
在线性编程中,这个函数必须是线性的(就像约束条件一样),所以形式为
推荐阅读
- 霍山黄芽的制作方法,常饮霍山黄芽对人体的保健作用
- 远安黄茶功效禁忌,黄茶的功效与作用及禁忌详解
- 哪些人不能喝黄茶喝黄茶有副作用吗,哪些人不适合喝黄茶
- 溪黄茶泡水为什么有点苦,仙草溪黄茶有什么作用
- 牛山黄茶孕妇可以用吗,黄茶的副作用
- 北港毛尖冲泡技巧,北港毛尖冲泡要点使用80℃左右的开水进行冲泡
- 十二岁左右的孩子能用黄茶漱口吗,君山银针的保质期
- 黄茶的保健功效与作用,黄茶的功效与作用及禁忌详解
- 请问平山黄茶有没有副作用,黄茶有哪些
- 用人单位如何向员工追偿损失?
