求助 有没有大佬会将以下逻辑使用 C++的 cplex 实现的

18次阅读

共计 676 个字符,预计需要花费 2 分钟才能阅读完成。

首先已知五个油田点,油田点 px 的坐标是已知的;已知船的速度无人机速度;船的单位成本和无人机单位成本,目标是船和无人机巡检完所有的巡检点后,返回到港口;每个油田点是船无人机协同访问,还是船直接访问呢?是比较他们谁的成本更小,谁更小,就用谁来访问目标点;港口为 p0;首先要计算港口到离港口最近的一个油田点来巡检;计算港口 px 到这个最近巡检点的距离,然后计算船到这个点巡检的情况下,所用的成本计算公式为:distance2 * C_ship ; 如果用船和无人机协助巡检这个点,需要船先从港口出发,在离巡检点有一定距离的时候,把无人机放飞,此时船也在往前走,无人机巡检完这个油田点后,返回到船上,这个过程成本为:distance1 * C_ship + distance3 * C_ship + ti * V_drone * C_drone;这是从港口访问第一个油田点的决策过程;第一阶段结束,开始访问第二个油田点时,如果第一个油田点用的是船巡检,那么更新已经巡检的这个油田点为新的港口 px, 计算这个新的港口点 px 到最近的下一个油田点的具体成本,判断用无人机船协同巡检还是只用船来巡检;如果第一个油田点用的是无人机协同船巡检的那么就需要计算无人机降落到船上的点设为新的港口 px,计算这个新的港口 px 到下一个距离他最近的油田点的成本,在一次比较这两个成本的大小,再来决策下一个油田点用什么来巡检;最终,要求巡检完所有巡检点后,若最后一个巡检点是用无人机和船协同巡检的,那么就需要无人机先回到船上,然后一同回到初始港口,如果最后一次巡检用的是船,那么可以船直接从最后一个巡检点直接回到初始港口。

正文完
 0