问题标签 [pickup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
14 浏览

routes - 无法理解取件和交付示例代码的输出

我已经从以下链接运行了取货和交付的示例代码 https://developers.google.com/optimization/routing/pickup_delivery#define_pickup_and_delivery_requests

我已将输入修改为 data['pickups_deliveries'] = [ [1, 6] ] data['num_vehicles'] = 4

我希望只有一辆车用于从位置 1 拣货并运送到位置 6。但是,当我运行上面的示例代码时,我看到以下输出

0号车路线:0 -> 7 -> 3 -> 4 -> 5 -> 0 路线距离:1620m

车辆1路线:0 -> 12 -> 11 -> 15 -> 13 -> 0 路线距离:1552m

车辆2路线:0 -> 1 -> 2 -> 6 -> 8 -> 0 路线距离:2008m

3号车路线:0 -> 9 -> 14 -> 16 -> 10 -> 0 路线距离:1552m

所有路线总距离:6732m

我看到车辆 2 从位置 1 取货并交付到位置 6。那么为什么车辆 2 要经过位置 2。为什么输出中有其他车辆 (0,1,3) 的路线?我希望只有一辆车可以去拣货然后交货?

请帮助我理解这个输出。

0 投票
1 回答
92 浏览

anylogic - Anylogic取货数量使用条件

我正在模拟疏散,并想用公共汽车接人。我想选择“确切数量(等待)”,因为部分空的公共汽车效率很低。但是,我遇到的问题是,如果最后一组小于指定的巴士容量,可能会留下一些人。然后公共汽车不会离开,因为它没有填满。

有人知道使用调节来解决问题的方法吗?我不能只修改等待所有公共汽车的总人数。这是因为我有不同的人群进入不同类型的车辆。

就像是

确切数量(等待) - 如果“等待区”包含 > 12 个代理

数量(如果有) - 如果“等候区”包含 ≤ 12 个代理

谢谢

在此处输入图像描述

0 投票
0 回答
27 浏览

android - 取货地点预测列表

我需要一些帮助

我正在创建一个应用程序,用户可以选择一个自定义拾取点我已设法使预测下拉列表工作,但我未能将列表中的值传递到文本字段

我需要一些帮助

我正在创建一个应用程序,用户可以选择一个自定义拾取点我已设法使预测下拉列表工作,但我未能将列表中的值传递到文本字段

在此处输入图像描述

我已附上代码,任何帮助将不胜感激

0 投票
0 回答
54 浏览

python - CVRP 中的旅行时间约束值与取货和交付

我是学习 python 和使用 or-tools 为我的研究任务编写代码的新手。这是考虑到个人旅行时间价值(VOTT)的载货车辆路线问题。VOTT 的约束是,VOTT 较高的乘客将被较晚上车和较早下车。同样,VOTT 较低的乘客将被提早上车,稍后下车。之前我们做了这样的VOTT约束:

这里 2 代表高,1 代表低 VOTT。

和数据看起来像:

这里 1-16 代表节点。

我想编辑它,让每个乘客都有不同的 VOTT,而不是像这种二进制场景。在这方面的任何指导和帮助将不胜感激。

0 投票
0 回答
14 浏览

pickup - 如何知道容器中的代理量(拾取元素)

我的目的是模拟人们乘坐地铁通勤的过程。我在流程建模库中使用了拾取元素。地铁(集装箱)到达接送区,接载乘客并在下一站下车。

在此处输入图像描述

现在我想知道地铁(集装箱)从一个站到另一个站的乘客数量,目的是观察地铁部分线路的客流。如何做到这一点?

0 投票
0 回答
32 浏览

laravel - 使用 Laravel 基于商店时间表的订单取货系统

我想创建一个订单提取系统。每个客户只能选择可用的时间段。卖方说明他可以下订单的日期和/或时间。这可以是一整天(周一上午 8 点到晚上 8 点)或按时间段。如果他平均选择 1h30 的准备时间,我应该显示 8:00、9:30、11:00。而这一切都基于数据库中已经记录的开盘和关盘时间。我使用 Laravel,我不喜欢任何代码,而是想要遵循逻辑的想法,因为我迷路了......谢谢你!

0 投票
0 回答
14 浏览

woocommerce - 必须单独购买特定的 WooCommerce 商品

我有多种产品无法发货。我还有其他可以发货的产品。

我想强制将特定的非发货(仅限本地取货)产品与发货的产品分开购买,这样客户就不能混合产品并期望它们全部发货。

我目前正在使用此处找到的解决方案:https ://stackoverflow.com/a/67115522/17318373

问题是这种解决方案只适用于一种产品。我有多种产品需要此应用,但我不擅长编写代码。

0 投票
0 回答
25 浏览

routes - 使用 or-tools 来组合取货和送货、多次旅行和容量限制

我搜索了许多类似的问题,但找不到适合我情况的解决方案。如果你们中的任何人能给我一些建议,我将不胜感激。

这是我的情况

车辆在仓库装载一些新机器,然后访问多个位置。当车辆向每个节点交付新机器时,它们还会从每个节点收集损坏的机器。

同时,车辆有容量限制。

此外,我需要复制仓库以允许多次旅行:车辆需要返回仓库卸载损坏的机器并装载新机器并再次行驶,直到所有交付和取货都完成。

主要思想类似于这个例子:https ://github.com/google/or-tools/blob/master/ortools/constraint_solver/samples/cvrp_reload.py ,但现在我不考虑时间限制。

我做了什么

主要思想是:

  • 取消注释时间窗口约束。
  • 使用交付维度来跟踪新机器的交付
  • 使用拾取维度来跟踪损坏机器的拾取情况
  • 在每个节点添加一个约束,CumulVar(pickups) + CumulVar(deliveries) <= capacity

请求帮忙

示例任务是这样的:

在此处输入图像描述

问题是:

如果我将车辆容量设置为10,则问题可以解决。但是当我设置为 7 时,“找不到解决方案”!

但显然,车辆至少可以行驶 4 次才能完成所有工作:

第1轮:在仓库加载5台新机器,到节点1,卸载它们,然后捡起4台坏机器回到仓库

回合2:在仓库加载5台新机器,到节点2,卸载它们,然后捡起6台坏机器回到仓库

回合3:在仓库加载2台新机器,到节点3,卸载它们,然后捡起7台坏机器回到仓库

第4轮:在仓库加载3台新机器,到节点4,卸载它们,然后拿起3台坏机器回到仓库

我可以理解为什么求解器没有找到这个解决方案。因为每次车辆离开重复的站点节点时,交付维度都会重置为_capacity 。_capacity为 7 时,车辆可以满足节点 1 和节点 4 的需求。(节点 1 卸载 5 台新机器,加载 4 台坏机。节点 4 卸载 3 台坏机,加载 3 台新机器。

但在节点 2 和节点 3,取货/送货是 +6/-5 和 +7/-2。当车辆离开重复站点节点时,其容量为 7,节点 2 和节点 3 都将打破容量约束。(+6-5>0, +7-2>0)

所以这个问题的根本原因是:重复的depot节点不应该将deliveries维度值设置为一个固定值(_capacity),而是一个介于[0,_capacity]之间的值。

但是 max_slack 是一个正数,我不知道如何使交付维度的值介于 [0, _capacity] 之间。

有人可以帮我吗?太感谢了。

下面是我的代码。

0 投票
0 回答
20 浏览

python - CVRPSPD(同时提货和交货的容量车辆路线问题)

我真的需要帮助解决这个问题。

我试图解决的问题的设置如下:

有一个车站,所有车辆都从这里派出。车辆在站点装载了许多已满的垃圾箱。车辆从仓库行驶到站点,在那里他们放下装满的垃圾箱并捡起空垃圾箱。车辆继续访问站点,直到它们的容量用站点的空垃圾箱饱和。一旦装满空垃圾箱,车辆就会返回仓库,放下空垃圾箱,然后拿起装满的垃圾箱。重复此过程,直到所有站点都满足了他们对空箱的取货和满箱的下车的需求,并且车辆在必要时完成了多次旅行。目标应该是最大限度地减少满足所有站点需求所需的总时间。

我已经开始修改这个示例cvrp_reload,但我正在努力解决这两个维度的组合:空箱的取货和满箱的交付。

我的代码的主要思想:

  • 使用维度来跟踪空垃圾箱的拾取情况。
  • 使用另一个维度来跟踪满箱的交付情况。
  • 车辆上空箱和满箱的累计总和 <= 车辆容量
  • 复制仓库,以便车辆可以重新访问仓库以卸载空箱并在必要时重新装载满箱。

这里的问题是:

  1. 我举了一个简单的例子,取货和送货的需求是:[0,4,6,2,3]和[0,-5,-5,-2,-3],车辆容量是6(我用这里只有一辆车)。我复制了 2 个仓库。

当我将容量设置为 6 时,求解器丢弃了节点 4(拾取 6,交付 -5)。因为当它重新访问仓库时,它总是加载最大容量为 6。结果:

这显然不是最优解,因为很明显,车辆可以先满载 5 个箱子离开,然后立即访问节点 4,然后访问节点 3、5、6。为什么节点 4 被丢弃?

  1. 当我将容量设置为 10 时,结果是:

注意最后一步,车辆返回仓库时,Deliveries(5) 和 Pickups(6) 的总和为 11,大于 10!鉴于我添加了以下约束,为什么会出现这样的结果?

我的完整代码在这里:cvrpspd.ipynb我已经为这个问题苦苦挣扎了好几天。任何见解将不胜感激!谢谢!!