- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试优化我工作中的订单填写方式。现在,一名员工只需抓取最新的 16 个订单(有时是 14 或 18 个)并填写它们。
我正在尝试更改它,而不是简单地按照最新的订单列表进行排序,而是对它们进行排序,以便每个批处理在相似的位置都有订单。但是我不知道应该如何对列表进行排序。下面是我想要做的事情的简化示例。
示例订单列表:
对列表排序后,我希望顺序 2 和 4 彼此相邻,顺序 1 和 6 彼此相邻,等等。像这样:
我正在使用 PHP,但任何语言的示例或提示都会非常有帮助。
编辑:
让我试着更详细地解释一下。员工抓取批量订单,然后他们使用带有条形码扫描仪的 PDA 填写订单。我们的仓库设置为首先是位置 A,然后是 B,依此类推。根本不涉及回溯。通常,他们必须走遍整个仓库才能完成这批订单,因为平均而言,16 个订单将包含来自所有位置的产品。
如果我将下一个要填写的订单的排序从订单日期更改为订单产品的位置,那么一批订单可能只有 A-G 位置,而不必遍历整个仓库。
另一个编辑(我真的需要在发布好的细节方面做得更好)
这是我们目前的流程:
我还应该指出,我们的很多/大部分产品都很小,一张 16 份订单的“提货单”可能有 500-800 件。目前,我们有大约 28,000 种不同的产品库存。
最佳答案
正如我在对该问题的评论中所写,我认为您只是以错误的方式看待问题。
您的描述暗示他们可以在必须“构建”/完成订单之前前往所有地点。问题是现在,事物是根据订单分组的,所以他们试图通过前往所有需要的位置来填写订单 #1,然后他们开始查看订单 #2,等等。
相反,您需要向他们提供有关地点的汇总信息,以及他们需要在每个地点取货的信息。然后他们就可以按照任何顺序前往所有地点,并从每个地点挑选他们需要的一切。当他们去过所有地点后,他们会浏览列表并从他们的一大堆东西中填写订单。
如果我在这里做了一些不正确的假设,请告诉我,我会尝试提出不同的方法。
只是为了尝试消除差异,这里是员工在每种方法中的动议(前两个不确定,因为他们可能按照不同的顺序去地点,我只是按照你列出的确切顺序,作为员工可能会)。
原始按日期排序(12 步):
E > Q > Z > B > Y > N > B > A > E > A > B > Q
您重新排序的版本(10 步):
E > Q > A > B > Z > B > Y > N > A > E
按位置聚合(7 步):
A > B > E > N > Q > Y > Z
为了进一步强调差异,如果我假设您所有的位置都与前一个位置等距(因此从 A 移动到 B 的成本为 1),并且每个字母都有一个。还假设你们都想在位置 0 开始和结束,你有:
原始按日期排序:移动量 = 138
您的重新排序版本: 移动量 = 138 (有点令人惊讶)
按位置聚合:移动量 = 52
关于php - 重新排序订单以提高仓库效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869456/
Hortonworks 数据平台 HDP 3.0 有 spark 2.3 和 Hive 3.1,默认情况下 spark 2.3 应用程序(pyspark/spark-sql 等)使用 spark 数据
是否最好让一个软件仓库包含多个文件夹,这些文件夹映射到工作区中的不同路径。或者一个仓库中的多个文件夹映射到多个工作区,或多个仓库映射到多个工作区。 有人对此事有任何实用建议吗? 我还注意到,当我在仓库
Git 是分布式源代码控制系统,对吧。如何在没有集中存储库的情况下连接两个开发人员。 我们的团队使用 Github,如果两个开发人员想在同一个分支上工作,似乎需要将该分支推送到远程,然后他们才能访问它
Maven – 仓库 什么是 Maven 仓库? 在Maven 的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我开始将 git 与我的 .git 目录以及网络根目录中的其他所有内容一起使用。进一步阅读后,这似乎是一种不好的做法。我现在将我的应用程序和系统文件夹放在网络根目录之外。我的网络根目录中唯一剩下的就是
有没有可能没有历史的 Git 仓库?例如,我有一个我工作的本地 Git 存储库,我想将最新版本推送到生产服务器。生产服务器上不应存储任何历史记录。我该怎么做? 最佳答案 你可以看到命令 git arc
Laravel 中的 Repositories 有什么优势?它似乎是从应用程序的业务逻辑中抽象出模型层。虽然这似乎只是让整个请求生命周期变得更加复杂,但收效甚微。 有人可以阐明 Laravel 存储库
我有一个本地 git 服务器在我的 NAS 上运行,我正在我的笔记本电脑和工作站上进行开发,所有这些都在我的本地网络中。所以,如果我想在一个新的空 repo 中开始一个项目,我会关注 this ans
我们正在使用 SVN 来存储 maven 依赖项(组织限制不能像现在那样使用 nexus 或 artifactory maven 存储库)。 SVN 在使用 https 协议(protocol)的网络
我想允许某人查看我在我的私有(private)存储库中所做的工作。我该怎么做? 我看了https://help.github.com/articles/making-a-private-reposit
我试图阻止同事在 git 中再次推送已删除的标签(因为它被错误地推送了一次)。 我知道如何在本地执行此操作以及如何将其推送到远程以及如何指示我的同事以正确的方式从他们的本地存储库中删除已删除的标签。
我已经使用 url 克隆了一个 friend 的 git repo git 克隆 https://github.com/user/repo_name.git 然后我创建了我的分支,提交并尝试将我的代码
我目前正在我的代理机构安排比赛。我想对开发人员可以使用的模块进行一些管理。 是否可以托管 Play 模块和 Maven 库的镜像存储库并将 play 配置为仅使用这些存储库? 我已阅读此内容 docu
我正在尝试在我的 readme.md 中嵌入图像用于在 GitHub 上显示。我以前在公共(public)存储库中没有遇到任何问题,格式如下: ![header image](https://raw.
我想访问公司内部Artifactory实例上自定义开发的Gradle插件。对于公司内部发生的每一个Gradle构建,我都希望如此。我是否缺少任何东西,或者建议的方法是在每个项目的每个Gradle构建之
我想保留我在 docker hub 帐户中使用的图像,同时保持对拉取图像的引用。就像你在 github 上 fork 一个项目一样。 目前我已经尝试过jwilder/nginx-proxy图片。现在我
Perforce 中是否有命令可以获取客户端从软件仓库映射到特定文件夹的信息? 示例: 我有仓库位置//depot/myfolder/somefile.java 我想知道哪些客户端将此位置映射到哪个路
我被指派为一个项目开发一项功能。在几周的时间里,我将花几天时间研究该功能。我将克隆中央仓库。然后我将在本地工作 3 周。在此过程中,我会多次将我的进度提交到我的 repo 协议(protocol)中。
我发现自己越来越喜欢将Rstudio与R markdown文件(.rmd)一起使用,并且我非常喜欢“编织HTML +发布到Rpubs”的便利与同事共享我的工作。不幸的是,发布的文件必须是公开可见的,而
我是一名优秀的程序员,十分优秀!