Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取决于MSF中的决策的参数 在微软Sover基金会中,我想知道是否有可能添加一个参数值取决于一个决定值。_C#_.net_Optimization_Constraint Programming_Ms Solver Foundation - Fatal编程技术网

C# 取决于MSF中的决策的参数 在微软Sover基金会中,我想知道是否有可能添加一个参数值取决于一个决定值。

C# 取决于MSF中的决策的参数 在微软Sover基金会中,我想知道是否有可能添加一个参数值取决于一个决定值。,c#,.net,optimization,constraint-programming,ms-solver-foundation,C#,.net,Optimization,Constraint Programming,Ms Solver Foundation,也就是说,我希望TSP模型中有一些东西,但它也应该考虑从一个点到另一个点的流量。请注意:流量取决于销售人员在该路线上旅行的时间 模型如下: 我有一个城市间所有可能组合的矩阵 决策变量是销售人员路线的订单。0是第一个,1秒 我有一个属性timeToTravel,它绑定到一个属性,该属性根据Order值计算路线发生的时间,并返回一天中该时间的旅行时间,包括交通量 在我看来,调用Solve函数时,参数值被读取一次并缓存,对吗?如果是,有人有什么建议来解决这个问题吗 最初我问了这个问题,但我认为它会引起

也就是说,我希望TSP模型中有一些东西,但它也应该考虑从一个点到另一个点的流量。请注意:流量取决于销售人员在该路线上旅行的时间

模型如下:

我有一个城市间所有可能组合的矩阵

决策变量是销售人员路线的
订单
。0是第一个,1秒

我有一个属性
timeToTravel
,它绑定到一个属性,该属性根据
Order
值计算路线发生的时间,并返回一天中该时间的旅行时间,包括交通量

在我看来,调用
Solve
函数时,参数值被读取一次并缓存,对吗?如果是,有人有什么建议来解决这个问题吗


最初我问了这个问题,但我认为它会引起更多关于堆栈溢出的注意。此外,我对不同于MSF的不同解决方案开放,但我更喜欢呆在.NET环境中。

< P>有一篇关于使用Sover基金会解决“静态”旅行商问题的好文章。如果您还没有自己的实现,也许您可以将解决方案基于该代码

这是上述文章中的目标表述:

// Goal: minimize the length of the tour.
Goal goal = model.AddGoal("TourLength", GoalKind.Minimize,
    Model.Sum(Model.ForEach(city, i => 
        Model.ForEachWhere(city, 
            j => dist[i, j] * assign[i, j], j => i != j))));
如果我理解正确的话,在你的问题中,在两个城市之间旅行的时间取决于一天中的时间

我不相信您可以在优化过程中动态更新
dist[,]
double
数组。但是,使用类的构建块,应该可以将
dist[,]
数组重新格式化为一组函数,这些函数依赖于已行驶的总距离/时间


为了完整起见,这是另一篇关于使用OML的TSP公式的有趣文章。

这个特定TSP问题的理论建立了吗?