在Julia中针对网络优化问题的此解决方案正确吗?

时间:2019-04-06 00:01:52

标签: julia mathematical-optimization linear-programming julia-jump

出于教育目的,我需要在Julia中解决此问题:

enter image description here enter image description here

我正在使用Julia 1.1.0和JuMP v0.19.0

我设法编写了一个解决方案。但是,我对最终结果没有把握。那是我的代码:

# What we want to replace
$array = array(
    ' ' => '-',
    '&' => ''
);

我的代码返回:

$text = "First Second&Third";

我看到了这些数字,用铅笔和纸稍微想了一下。他们似乎是合理的。但是,我对最终结果仍然没有把握。

实际上,我对这个问题本身不满意。我多次阅读以了解目标是什么。

我最担心的是变量定义:

# Results
printf(strtr($text, $array));

考虑问题陈述是否有意义? 正确吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

这是运输问题。我建议使用索引变量和约束。您使用“标量”变量和约束。如果数据发生变化,并且有更多的供应商或需求点,则采用建模的方式,则需要更改模型。最好使用带有变量x [i,j]的索引模型。当问题的维度发生变化时,这样的模型就不需要更改:同一模型可以解决大型和大型数据集。有关使用索引变量的Julia / JuMP中运输模型的示例,请参见:link

此外,具有许多变量和约束的标量模型很难理解和调试。索引模型更能揭示结构。它更紧凑,编写工作更少。

强调这一点:我开发了很多优化模型,而且我从未写过标量模型。