优化模型

优化模型

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

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

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

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

回想一下,我们优化问题的目标是使所生产硬币的总价值最大化。生产的每一分钱值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克铜,等等。

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

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

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