在编程求解VRP问题之前首先要深刻理解TSP问题的编程思想,一般学会TSP的编程即可以进行VRP编程,好,在这里简单的说一下,如何由TSP问题转化到VRP问题。
首先VRP问题是指带有配送中心的配送路径规划,其TSP问题(旅行商)应用到配送路径规划问题中,二者唯一的区别就是VRP有配送中心,而TSP没有配送中心,即TSP在配送过程中,车辆不需要回到配送中心。说到这里,我们就要问一个问题,在VRP问题中,什么情况下,车辆需要回到配送中心?那么一般VRP问题是由汽车的配送量来决定的,假设有6座城市,各个城市的需求量为50,60,70,80,90,100,用汽车由配送中心到各个城市配送货物,汽车的装载量为200,很明显,汽车不可能一趟把所有城市的货物(总需求量为:450)都送完,所以要送多次,送完一次回一次配送中心,再拉货去配送,这就构成了VRP问题。
那么如何从TSP转化为VRP问题呢,下面就用这个简单的例子来说明一下。
有6座城市编号为1,2,3,4,5,6各个城市的货物需求量为50,60,70,80,90,100,一般我们把配送中心的编号为0,首先假设汽车装载量特别大,假设为1000,此时汽车可以把所有城市的货物需求量一次性配送完成,这时配送路径0-1-2-3-4-5-6-0即为一个可行路径,这个时候改问题就为TSP问题。
如果汽车的装配量为200,那对于路径1-2-