有九个需求点,一个车去送。移动路径已知。 目标:配送次数最少:c是第几个节拍,tc是0-1 变量,0 不出发,1 出发。 约束条件为:使用量:出发节拍的时间差与消耗速率的乘积,一个节拍是36min,各需求点的消耗速率为每
时间: 2024-04-25 09:26:21 浏览: 10
个需求点所需时间的倒数。根据约束条件,可以得到以下公式:
使用量 = (出发节拍 - c) * (1 / t1 + 1 / t2 + ... + 1 / t9)
其中,t1、t2、...、t9分别为各需求点的消耗速率。
为了使配送次数最少,我们可以将问题转化为求出最短路径,并将路径上的需求点按顺序配送,即可保证配送次数最少。
可以使用Dijkstra算法或A*算法求出最短路径。在求解时,需要考虑车辆的容量限制,即每次只能配送一个需求点。如果某个需求点无法配送,则需要重新规划路径。
最后,根据出发节拍的时间差与消耗速率的乘积,可以计算出使用量,并将其与容量限制进行比较,以确定是否需要重新规划路径。
相关问题
有九个需求点,一个车去送。移动路径已知。 目标:配送次数最少:c是第几个节拍,tc是0-1 变量,0 不出发,1 出发。 约束条件为:使用量:出发节拍的时间差与消耗速率的乘积,一个节拍是36min,各需求点的消耗速率为每个节拍128,128,120,128,108,120,128,108,108;车到达之前需求点的剩余物料数量不低于最小数量10;车到达之后所有的数量之和不超过需求点能容纳最大的数。对该目标函数进行定义。
目标函数可以定义为:
minimize: c
subject to:
tc1 <= c (车出发时间不早于第一个需求点的出发时间)
tc2 <= tc1 + 4 (车到达第一个需求点的时间)
tc3 <= tc2 + 3 (车到达第二个需求点的时间)
tc4 <= tc3 + 4 (车到达第三个需求点的时间)
tc5 <= tc4 + 3 (车到达第四个需求点的时间)
tc6 <= tc5 + 4 (车到达第五个需求点的时间)
tc7 <= tc6 + 3 (车到达第六个需求点的时间)
tc8 <= tc7 + 4 (车到达第七个需求点的时间)
tc9 <= tc8 + 3 (车到达第八个需求点的时间)
tc9 + 4 <= c (车到达第九个需求点的时间)
128*tc1 + 128*(tc2-tc1) + 120*(tc3-tc2) + 128*(tc4-tc3) + 108*(tc5-tc4) + 120*(tc6-tc5) + 128*(tc7-tc6) + 108*(tc8-tc7) + 108*(tc9-tc8) <= 360 (车的物料使用量不超过1辆车的容量)
10 <= 100 - 128*(tc2-tc1) (第一个需求点的剩余物料不低于最小数量10)
10 <= 100 - 128*(tc4-tc3) (第二个需求点的剩余物料不低于最小数量10)
10 <= 100 - 120*(tc6-tc5) (第三个需求点的剩余物料不低于最小数量10)
10 <= 100 - 128*(tc7-tc6) (第四个需求点的剩余物料不低于最小数量10)
10 <= 100 - 108*(tc8-tc7) (第五个需求点的剩余物料不低于最小数量10)
10 <= 100 - 120*(tc9-tc8) (第六个需求点的剩余物料不低于最小数量10)
100 >= 128*(tc2-tc1) + 100 - 128*(tc4-tc3) + 100 - 120*(tc6-tc5) + 100 - 128*(tc7-tc6) + 100 - 108*(tc8-tc7) + 100 - 120*(tc9-tc8) (所有需求点的物料总量不超过需求点能容纳的最大数)
其中,tc1到tc9为0-1变量,表示车在每个时间点是否出发,c为车到达第九个需求点的时间,即最终的配送完成时间。目标函数为最小化配送次数,即车的出发次数。约束条件分别为车的物料使用量不超过车的容量,每个需求点的剩余物料数量不低于最小数量10,所有需求点的物料总量不超过需求点能容纳的最大数。
有九个需求点,一个车去送。移动路径已知,沿着1、2、3、4、5、6、7、8、9需求点的顺序去送。 目标:配送次数最少:c是第几个节拍,tc是0-1 变量,0 不出发,1 出发。 约束条件为:使用量:出发节拍的时间差与消耗速率的乘积,一个节拍是36min,各需求点的消耗速率为每个节拍128,128,120,128,108,120,128,108,108;车到达之前需求点的剩余物料数量不低于各点要求最小数量10,10,10,10,10,10,10,10,10;车到达之后所有的数量之和不超过需求点能容纳最大的数
目标函数可以定义为:
minimize: c
subject to:
tc1 <= c (车出发时间不早于第一个需求点的出发时间)
tc2 <= tc1 + 4 (车到达第一个需求点的时间)
tc3 <= tc2 + 3 (车到达第二个需求点的时间)
tc4 <= tc3 + 4 (车到达第三个需求点的时间)
tc5 <= tc4 + 3 (车到达第四个需求点的时间)
tc6 <= tc5 + 4 (车到达第五个需求点的时间)
tc7 <= tc6 + 3 (车到达第六个需求点的时间)
tc8 <= tc7 + 4 (车到达第七个需求点的时间)
tc9 <= tc8 + 3 (车到达第八个需求点的时间)
tc9 + 4 <= c (车到达第九个需求点的时间)
128*tc1 + 128*(tc2-tc1) + 120*(tc3-tc2) + 128*(tc4-tc3) + 108*(tc5-tc4) + 120*(tc6-tc5) + 128*(tc7-tc6) + 108*(tc8-tc7) + 108*(tc9-tc8) <= 360 (车的物料使用量不超过1辆车的容量)
10 <= 100 - 128*(tc2-tc1) (第一个需求点的剩余物料不低于最小数量10)
10 <= 100 - 128*(tc3-tc2) (第二个需求点的剩余物料不低于最小数量10)
10 <= 100 - 120*(tc4-tc3) (第三个需求点的剩余物料不低于最小数量10)
10 <= 100 - 128*(tc5-tc4) (第四个需求点的剩余物料不低于最小数量10)
10 <= 100 - 108*(tc6-tc5) (第五个需求点的剩余物料不低于最小数量10)
10 <= 100 - 120*(tc7-tc6) (第六个需求点的剩余物料不低于最小数量10)
10 <= 100 - 128*(tc8-tc7) (第七个需求点的剩余物料不低于最小数量10)
10 <= 100 - 108*(tc9-tc8) (第八个需求点的剩余物料不低于最小数量10)
10 <= 100 - 108*(tc9-tc8) (第九个需求点的剩余物料不低于最小数量10)
100 >= 128*(tc2-tc1) + 100 - 128*(tc3-tc2) + 100 - 120*(tc4-tc3) + 100 - 128*(tc5-tc4) + 100 - 108*(tc6-tc5) + 100 - 120*(tc7-tc6) + 100 - 128*(tc8-tc7) + 100 - 108*(tc9-tc8) (所有需求点的物料总量不超过需求点能容纳的最大数)
其中,tc1到tc9为0-1变量,表示车在每个时间点是否出发,c为车到达第九个需求点的时间,即最终的配送完成时间。目标函数为最小化配送次数,即车的出发次数。约束条件分别为车的物料使用量不超过车的容量,每个需求点的剩余物料数量不低于最小数量10,所有需求点的物料总量不超过需求点能容纳的最大数。由于移动路径已知,可以直接按照需求点的顺序进行配送。