C# 取决于MSF中的决策的参数 在微软Sover基金会中,我想知道是否有可能添加一个参数值取决于一个决定值。
也就是说,我希望TSP模型中有一些东西,但它也应该考虑从一个点到另一个点的流量。请注意:流量取决于销售人员在该路线上旅行的时间 模型如下: 我有一个城市间所有可能组合的矩阵 决策变量是销售人员路线的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函数时,参数值被读取一次并缓存,对吗?如果是,有人有什么建议来解决这个问题吗 最初我问了这个问题,但我认为它会引起
订单
。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问题的理论建立了吗?