离散优化问题之三国招兵

量子麻小
2024-09-25 10:14:59

东汉末年分三国,烽火连天不休。

刘关张桃园结义,招兵志平暴乱。

 

兵源

 

冯家村

刘家村

赵家村

简家村

单人战力

6

10

8

40

单人花费

13

21

17

100

总人数

1000

400

500

150

 

招兵目标:组建一只强大的军队

 

现有经费:10000

 

三个兄弟意见

 

关羽

主张:招募最好又最贵的士兵

● 100名简家村士兵

● 总战斗力为4000

● 经费剩余0

 

张飞

主张:大量最便宜的士兵

● 769名冯家村士兵

● 战斗力4614

● 经费剩余3

 

刘备

主张:用有限的经费,通过组合招募,招募一只最强战斗力的军队

既然如此,那就创建一个数学模型!

首先设置参数

F:代表在冯家村需要招募的人数
L:代表在刘家村需要招募的人数
Z:代表在赵家村需要招募的人数
J:代表在简家村需要招募的人数

目标函数

maximize 6F + 10L + 8Z +40J

约束条件

budget = 10000
13F + 21L + 17Z + 100J <= budget
0 <= F <= 1000
0 <= L <= 400
0 <= Z <= 500
0 <= J <= 150

通过以上的梳理,可以找一个优化问题常用的求解器。使用相应语言进行建模,进行求解输出。

% 定义参数(parameter)
int: budget = 10000;

% 定义约束(constrain)
constraint 13*F + 21*L + 17*Z + 100*J <= budget;

% 定义决策变量(decision variable)
var 0..1000: F;
var 0..400: L;
var 0..500: Z;
var 0..150: J;

% 定义目标(objective)
solve maximize 6*F + 10*L + 8*Z + 40*J;

% 定义输出格式
output ["F = \(F), L = \(L), Z = \(Z), J = \(J)\n"];

最终可得:F=0,L=392 ,Z=104,J=0

最优方案

● 392名刘家村士兵、104名赵家村士兵1768

● 战斗力4753

● 经费剩余0

 

432
0
0
0
关于作者
相关文章
  • 国内量子计算机完美求解D-wave应用案例(内含万能转化代码) ...
    D-Wave是全球首个商业量子计算机供应商,也堪称量子计算领域的龙头。截至 今年,已经开发了数百 ...
    了解详情 
  • 【讲座笔记】李宏博副教授:约束满足问题建模与求解 CCF-Talk ...
    讲座时间:2024年7月24日讲座组织:中国计算机学会主讲人:李宏博 副教授 问题实例经典问题 ...
    了解详情 
在本版发帖返回顶部
快速回复 返回顶部 返回列表