优化模型

为了将其表述为优化问题,我们需要做三件事。

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

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

这个问题中的变量很简单。求解者需手机万博登录要决定每种硬币生产多少。给决策变量起有意义的名字很方便。在这种情况下,我们调用变量便士尼克尔斯季度,美元。我们还将引入变量,这些变量捕获溶液中实际使用的各种矿物质的数量。我们给他们打电话,

回想一下,我们的优化问题的目标是最大化所生产的硬币的总美元价值。每一分钱价值0.01美元,每一枚镍币价值0.05美元,以此类推。这给出了以下线性目标:

最大值:0.01便士+ 0.05镍币+ 0.1一角+ 0.25 25美分+ 1美元

这种模式的局限性在于,生产一枚硬币需要消耗一定数量的可用矿物,而这些矿物的供应是有限的。我们将分两部分介绍这些关系。首先,我们将为每种矿物质创建一个方程,以捕获消耗的矿物质量。对于铜,这个方程是:

铜= 0.06个便士+ 3.8个镍币+ 2.1个一角硬币+ 5.2个25美分硬币+ 7.2美元
这个公式的系数来自于早期的硬币规格表:一分钱用0.06克铜,一枚镍用3.8克铜,等等。

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

Cu <= 1000
在我们的例子中,我们假设有1000克铜和50克其他矿物质。

实际上,为了让我们的模型准确地反映问题的物理现实,还必须捕获另一组约束。一角硬币值10美分,而半一角硬币不值5美分。捕获每枚硬币数量的变量必须取整数值。