-1
A
回答
0
的一种方式,是复制/粘贴的Drools Plannerthis vehicle routing example和攻击它是这样的:
有两辆车:1台实车(=游)和1辆未使用的车辆(=非用于城市) 。 客户==城市。删除容量规则。
然后,更改评分细则,因此只总结了城市(=客户)的二手车的距离(而不是未使用的车辆):
rule "distanceToPreviousAppearance"
when
$customer : VrpCustomer(previousAppearance != null, $distanceToPreviousAppearance : distanceToPreviousAppearance, vehicleIsUsed == true)
then
insertLogical(new IntConstraintOccurrence("distanceToPreviousAppearance", ConstraintType.NEGATIVE_SOFT,
$distanceToPreviousAppearance,
$customer));
end
rule "distanceFromLastCustomerToDepot"
when
$customer : VrpCustomer(previousAppearance != null, vehicleIsUsed == true)
not VrpCustomer(previousAppearance == $customer)
then
VrpVehicle vehicle = $customer.getVehicle();
insertLogical(new IntConstraintOccurrence("distanceFromLastCustomerToDepot", ConstraintType.NEGATIVE_SOFT,
$customer.getDistanceTo(vehicle),
$customer));
end
同样,你可以添加一个规则,对二手车所访问的每个城市的访问奖励进行总和,并尝试使用ConstraintType.POSITIVE_SOFT(加权与行进距离的加权)来最大化该奖励。
当然,你不应该这样破解它:这只是要点。相反,请根据您的要求重新命名和重新设计它。
相关问题
- 1. 旅行推销员,包括通过城市旅行
- 2. 旅行商TSP:蛮力算法改进
- 3. TSP优化旅游
- 4. 通过城市
- 5. 旅行推销员(TSP)性能
- 6. 如何计算两个城市之间的旅行时间?
- 7. 最大限度地减少城市之间的旅行成本
- 8. 即使跳过几个城市,TSP的最佳解决方案是否仍然保持最佳状态?
- 9. 旅行商查询
- 10. 经过许多城市
- 11. 如何通过Facebook的城市ID查找城市名称?
- 12. Freebase API - 根据相关性列出城市的旅游景点
- 13. 机场,旅游点和城市自动完成
- 14. MKReverseGeocoder返回不是城市的城市?
- 15. 阅读在旅行商C++
- 16. 遗传算法 - 旅行商
- 17. 国家,城市和城镇
- 18. 为城市/州
- 19. 搜索城市
- 20. 设置开始和结束点的旅行推销员(TSP)
- 21. 从N个城市列表中选择一个城市/城市的方式
- 22. 过滤城市的经纬度与其他城市的距离(经纬度)?
- 23. 通过道路获取直接连接城市的城市列表
- 24. SQL服务器:通过城市名称
- 25. 通过sparql获取城市信息
- 26. SQL Server存储过程城市返回
- 27. ViaMichelin.com城市哈希
- 28. SPARQL - 列表城市
- 29. 需要对旅行商问题
- 30. 基于旅行商的问题
这功课吗?如果是这样,你应该这样标记它。 – 2012-08-08 15:05:40
您有更好的机会在http://math.stackexchange.com或http://scicomp.stackexchange.com上获得很好的答案 – Ali 2012-08-08 21:10:20