优化模型

优化模型

为了将此制定为优化问题,我们需要做三件事。

  • 首先,我们需要定义决策变量。优化的目标是为这些变量选择值。
  • 其次,我们将定义线性目标函数。这是我们希望最小化(或最大化)的功能。
  • 第三,我们将定义线性约束。

Gurobi Optimizer将考虑所有值的值到满足指定的线性约束的策略变量,并返回优化所述目标函数的判定变量。

这个问题中的变量非常简单。求解器需手机万博登录要决定每个硬币的生产量。提供决策变量有意义的名称是方便的。在这种情况下,我们将调用变量便士dim宿舍, 和美元。我们还将引入捕获解决方案实际使用的各种矿物质量的变量。我们会打电话给他们CU.zi., 和MN.

回想一下,我们优化问题的目的是最大限度地提高所产生的硬币的总价值。每一分钱生产的价值0.01美元,每款镍价值0.05美元等。这给出了以下线性目标:

最大限度:0.01便士+ 0.05镍+ 0.1厘米+ 0.25分+ 1美元

该模型的约束来自于产生硬币消耗某些数量的可用矿物质,这些矿物的用品有限。我们将在两部分中捕捉这些关系。首先,我们将为每个矿物创建一个等式,捕获所消耗的矿物量。对于铜,那个方程式是:

CU = 0.06便士+ 3.8镍+ 2.1迪斯+ 5.2季度+ 7.2美元
该等式的系数来自早期的硬币规格表:一分钱使用0.06g铜,一个镍使用3.8g等。

该模型还必须捕获每种矿物的可用量。如果我们有1000克铜可用,那么约束将是:

Cu <= 1000
对于我们的示例,我们假设我们拥有1000克铜和50克其他矿物质。

实际上,必须捕获另一组约束,以便我们的模型准确反映出我们问题的物理现实。虽然一分钱价值10美分,但一定数石的一半不值得5美分。捕获生成的每个硬币的数量的变量必须采用整数值。