混合问题

描述了 CPLEX Studio 分发版中一些示例,这些示例涉及混合多个资源或物料以创建应对需求的其他产品。

混合问题是混合整数线性规划 (MILP) 的典型应用。 这些问题涉及混合多个资源或物料以创建应对需求的一种或多种产品。

混合整数线性规划是要求一些变量采用整数值的线性规划。

此类规划的求解方法与整数规划相同。 分支定界算法可以利用线性松弛;其分支过程仅适用于整数变量。

本部分包含有关以下分布式示例的信息:

金属混合示例

金属混合示例涉及混合一些金属以制造合金。 金属可能来自多个来源:以纯金属的形式或来自原材料、先前混合的废料或铸块。 根据指定合金中每种金属数量下限和上限的生产约束的表述,合金必须包含特定量的各种金属。 每个来源都有一定的成本,问题涉及在最大程度地减少成本并满足生产约束的同时混合各个来源。 其他领域(例如,油、涂料和食品加工行业)中也存在类似问题。

要访问此示例,请转至 examples/opl/blending

另请参阅《语言用户手册》中的混合问题

油混合示例

某石油公司通过混合不同类型的原油来制造不同类型的汽油。 每种类型的汽油必须满足与其铅含量和辛烷值相关的质量标准。 该公司必须还满足其客户对每种混合物的需求。 它可在外部采购每种类型的原油或在内部加工,这会产生关联成本。 该公司可以选择为某个类型的汽油做广告,在这种情况下对此类型汽油的需求会随花费的金额成比例增加。 此问题包括在满足需求和进行适当广告的同时最大程度地减少成本。

示例包括:

  • 基本油模型:examples/opl/oil。 这可以通过运行配置缺省配置进行访问。

  • 修改后用于说明如何从电子表格中获取数据以及如何将数据发布到电子表格的油项目:examples/opl/oil/oilSheet.mod。 这可以通过运行配置来自电子表格的数据进行访问。

    请参阅《语言参考手册》中的电子表格输入/输出和《集成开发环境教程》中的油表示例

食品混合问题

该问题是为了计划如何将分成两种类别(两种植物油和三种非职务油)的五种油的调和工作分配到六个月的调和产品批次中。

其中部分油已有存储量。 在计划开始时,每种未加工油的初始库存油量为 500 吨。 在计划结束时,存储中应存在相等的库存量。 每个月最多只能存储 1000 吨每种类型的未加工油以供稍后使用。 未加工油的存储价格是每吨 5 个货币单位。 不能存储精制油。 也不能存储调和产品。

必须按照满足调和需求的数量购买其余油(即,尚无存储量)。 每种油的价格在六个月的周期内不断变化。 不能在同一条生产线上对两种类别的油进行精制处理。

给定月份可以精制的每种类别(植物油或非植物油)的油量存在限制:

  • 植物油精制量每月不得超过 200 吨。

  • 非植物油精制量每月不得超过 250 吨。

针对油的调和存在约束:

  • 产品不能调和三种以上的油。

  • 将给定类型的油混合到产品中时,至少必须使用 20 吨这种类型的油。

  • 如果将植物油 1 (v1) 或植物油 2 (v2) 混合到产品中,那么也必须将非植物油 3 (o3) 混合到该产品中。

最终产品(精制并混合)的售价已知:每吨 150 货币单位。

该六个月计划的目标是尽量降低生产和存储成本,同时最大化利润。

要访问此示例,请转至:examples/opl/foodmanufact

See also 教程:使用 CPLEX 逻辑约束 in the 语言 用户手册.