优化模型

优化模型

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

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

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克铜,等等。

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

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

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