自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 生产计划体系完整解决方案(2) : 复杂大规模问题之 - 分区规划

​在完整的规划体系中,针对不同的场景与需求,需要对应的规划方案。在上一篇(生产计划体系完整解决方案(1) - 复杂大规模问题的分阶段规划)里,简述了分阶段规划方案,就是针对供应链中,从订单到生产环节中,以订单为单位对生产计划进行初步排程。具体的任务是“将某个订单,安排到哪个生产单位(通常是车间级别),在哪个时间点之前完成”。通常我们将该层次的生产计划称为主生产计划 - MPS。而在生产单位内,根据订单需求和产品的工艺路线、参数等进行拆解,生成最小粒度的生产任务,把这些生产任务分配到产线、机台、工位或班组等

2022-11-22 00:38:35 87

原创 关于多工序、多资源排程场景下的新成果

当然这些都是一些理论上的分析与思路,而要在OptaPlanner里实现它,虽然官方也提供了相应的示例,但这个示例只展示了最简单的PJS模型,我们只能以此作为基础,沿着MRCPSP模型的思路来实现我真正的规划模型。在此基础上基于产品工序路线的前后工序关系,来表达同一产品下的的工序路线。我们可以从各种各样的计划中可以归纳出来,大多数情况下计划,其本质是实现任务(或称为排程对象)的时空编排,也就是确定各个任务的时间 (任务时间开始,做多久,什么时间完成),与空间(例如哪些资源,在哪些限制条件下进行)两个维度。

2022-09-11 08:11:01 71

原创 易排通用规划平台,以Excel作为数据源的调用方法与数据文件说明

易排通用规划平台发布了以Excel谁的作为数据载体的功用,本方向讲解该Excel文件各个数据的业务意义。

2022-09-05 11:27:42 353

原创 生产计划体系完整解决方案(1) - 复杂大规模问题的分阶段规划

在过往参与的一些项目支持工作,以及平台发布后各位小伙伴使用过程中,经常遇到这样的问题你这个引擎性能怎么样?可以处理多大数据量的排程?我有数万个任务,这个引擎多长时间可以排产结果?这个问题会引出整个生产计划过程中计划方式的问题。......

2022-07-29 16:47:13 130

原创 OptaPlanner 发展方向与问题

最近一段时间,因为忙于【易排(EasyPlan)规划平台】的设计与开发工作,平台的一些功能设计,需要对OptaPlanner的各种特性作更深入的研究与应用。慢慢发现,OptaPlanner进入8.X版本之后,变化还是挺大的。......

2022-07-20 15:14:53 114

原创 OptaPlanner将弃用DRL(Drools)评分方式!!!

本来这段时间一直都在加紧我家“三胎”(易排通用智能规划平台)建设,毕竟我们的通用规划平台原定6月初就能上线,但因为其中遇到的各种技术问题及其它项目的突发情况,导致也只能跟随国家的003号航母,只能推迟上线,进度紧迫。经过近两个星期的奋战,终于将我们的【易排通用智能规划平台】的主要功能上线了,并做了一些基本的使用资料,供各位小伙伴先得试用。 因为我们的平台还处在刚上线提供试用阶段,后续还有数不清的功能、平台设计、应用小视频需要我日以继夜地奋力补充(这些资料里不仅仅有平台的介绍资料喔,也有我们做规

2022-07-02 01:18:01 90

原创 三胎终于来了!通用智能规划平台 - APS模块

因为前期其它项目突发情况,导致我们的三胎一再推迟。人民海军的三胎已降生,父亲节也到了;我们的三胎也是时候要出来见个面了。

2022-06-21 13:38:08 90

原创 OptaPlanner实用技术 - 批量规划和实时规划(2)

上一篇我们分别对“批量规划”和“实时规划”作了详细介绍;OptaPlanner的这两种开箱即用的特性在具体的工程实践中极为实用。 批量规划可方便巧妙地解决多数据集同时规划,可有效提高算力资源应用效率。此外,在规划服务设计方面,基于批量规划功能,可设计更为简洁可靠且高效的的异步服务方案。引擎在执行多个数据集并行运算时,可根据引擎配置来安排有多少个CPU核心参与规划运算过程,也可使用引擎默认的CPU调度方案,实现服务程序的稳定性与性能的最佳平稳。 ...

2022-06-03 00:23:31 212

翻译 通过OptaPlanner优化 COVID-19 疫苗接种预约安排(1)

近两年来的冠疫情使得社会工作生活备受影响。接种疫苗是其中一种有效减缓疫情的途径之一,但病毒的传染性,疫苗接种的规律性,及接种人群数量及分布等特性,对接种活动的计划安排提出了巨大挑战。面对大量的接种数据和复杂的接种安排,人工编制接种计划明显会影响工作效率,并降低接种安排的合理性。本文将接种计划视作一个规划问题,通过开源规划引擎OptaPlanner,自动生成一个符合接种规范、提高工作效率、降低社会运行成本的接种计划方案。本文章译自Paul Brown先生,一位开源社区的资深贡献者。以下为原文:Opti

2022-05-03 09:22:13 102

翻译 《机械师实时调度示例(I) - 实时规划》的视频翻译

之前翻译了红帽2019年技术峰会上,OptaPlanner演示实时调度的一个案例中的文章。其中关于案例的讲解,最近有时间将它翻译一下,大家可以结合视频来细看该文章。《机械师实时调度示例(I) - 实时规划》https://mp.csdn.net/mp_blog/creation/editor/102559775...

2022-04-19 11:10:40 55

翻译 通过OptaPlanner优化仓库和超市的订单拣货过程

本文描述了通过OptaPlanner实现订单快速且优化拣货过程,在满足订单固定规则的前提下,实现购物车行驶最小距离的规划优化。

2022-03-04 11:15:49 300

原创 非易失性规划的原理与实现方法

常言道,计划不如变化快。计划的制定本身就建基于对未来一定时间范围内的环境条件假设,当计划制定后到执行完成的时间段内,若环境条件发生变化,那么计划也需要进行适当的调整才能满足实际要求。但计划的调整往往伴随着相应的代价,不仅仅是计划的重新制定所需的工作量,更大的代价来自于计划变更对执行工作的影响。例如提前备料、设备预调等准备工作;这是计划和控制的最大挑战之一;因此,计划的变更也极具研究价值。如何在环境条件发生变更导致原有计划无法继续执行时,快速定制一个最低成本的、切实可用的变更方案?本文我们主要...

2022-02-07 00:26:49 289

原创 实现不完全规划的方法

在各种常见的规划场景中,我们经常会遇到一种不完全规划的情况。即在正常情况下,在完成了一次规划运算(甚至是CH阶段的运算中),OptaPlanner的规划实体(Planning Entity, 下称规划实体)中每个规划变量(Planning Variable,下称规划变量)必须非空,即必须被赋予规划变量取值范围(ValueRange,规划变量取值范围)范围内的值;尽管有更约束被违反,也必须实现赋值。

2021-12-15 20:32:24 156

原创 相邻两个生产计划之间的衔接问题

本文章主要探讨在生产计划的“编制 -> 执行”过程中,遇到的计划与实际生产活动,相邻两个计划之间的衔接问题,及常见的方案建议。生产计划是通过对生产环境的整体评估,并基于评估结果对生产活动的推导和仿真,从而获得的工作安排,用于指导生产活动。计划人员对生产条件掌握越准确,编制出来的计划越贴近实际情况、越具有可操作性。但无论对计划的内部因素(例如产能、工艺)还是外部因素(例如交期、插单)的把握,均建立在对未来的预期的基础上,必定具有不确定性和可变性。因此,计划的“编制->执行”过程,排产人员除了需

2021-06-01 23:53:52 231

原创 OptaPlanner的新约束表达方式 Constraint Streams

有好些时间没有写过关于OptaPlanner的东西了,其实近半年来,OptaPlanner还是推出了不少有用、好用的新特性。包括本文讲到的以Stream接口实现评分编程。关于OptraPlanner的约束详细用法,可以参考官方资料:Constraint streams score calculation​docs.optaplanner.org最近几个版本推出的新功能、特性中,有不少功能还处于初始探索阶段,甚至有些功能还未成体系,包括我在上一篇文件中推出的SolverManger实现批量异步规划。此功能

2020-09-10 12:16:30 481

原创 APS实现的要点与难点

在前一篇关于文章中讨论了不同层级、粒度的生产计划,在各行业中受重视程度的差异问题。《关于APS在企业生产计划上的应用》承蒙大家热烈讨论。本文则在收集各方高见的基础上,对于供应链上各个环节的运营、生产计划再作稍微深入一点的探讨。本文将列举APS技术中常见的重点难点作展开讨论,基保重点的计划场景是制造业的生产计划。本文将基于APS技术、APS项目及APS系统(产品)相关的信息进行探讨。为何...

2020-08-19 01:20:30 1360

原创 普通企业的规划类项目中,OptaPlanner更适合作为APS的规划优化引擎

在企业的规划、优化场景中,均需要开发规划类的项目,实现从从种可能方案中找出相对最优方案。如排班、生产计划(包括高层次的供应链优化,到细粒度的车间甚至机台作业指令)、车辆调度等。因为这类场景需要解决的问题,均可以归约为数学中的NP-C或NP-Hard问题。而解决此类问题,均需要通用的求解器才能实现。这类求解器也称规划引擎,通过它才能从天文数字的可能方案中,找出一个可行且相对优化的方案。规划引擎的...

2020-04-11 18:47:11 703

原创 OptaPlanner 7.32.0.Final版本彩蛋 - SolverManager之批量求解

上一篇介绍了OptaPlanner 7.32.0.Final版本中的SolverManager接口可以实现异步求解功能。本篇将继续介绍SolverManager的另一大特性 - 批量求解。适用场景在日常的规划系统中,求解一个问题,绝大多数情况下,容许运行的时间较有限,特别是在实时性较高的场景中,可让引擎运算时间不多。因此,这种情况下,会在启动了规划运算后,稍等片刻,即需要从求解程序中获取结...

2020-02-26 01:07:51 513

原创 OptaPlanner 7.32.0.Final版本彩蛋 - SolverManager之异步求解

因为工作和其它原因,很长一段时间没有出新的、关于OptaPlanner的文章了,但工余时间并没有停止对该引擎的学习。与此同时Geoffrey大神带领的KIE项目团队并没有闲下来,尽管在工业可用性、易用性和使用门槛方面,OptaPlanner相对传统的求解器已经做得相当出色;特别是在规划过程交互、和各种操作接口方面,更是目前最为容易使用的规划求解器。以第7版一系列子版本中,OptaPlanner...

2020-02-23 00:36:11 232

翻译 机械师实时调度示例(I) - 实时规划

OptaPlanner创办人Geoffrey De Smet及其团队,在Red Hat 技术峰会上主题会场上,演示了一个通过OptaPlanner实现实时规划与调度的示例。Geoffrey及其团队专门为此分三篇博文描述了该程序。该程序及其相关博文是OptaPlanner在VRP领域极之经典之作。本系列也分三篇对博文进行翻译,以飨各位ORer, APSer和Planner.目前本人正在研究该程序...

2019-10-15 02:20:38 264

翻译 人类的规划能力有多强大?

本文章译自OptaPlanner官网上,Geoffrey De Smet先生的博文,链接如下:https://www.optaplanner.org/blog/2015/06/03/HowGoodAreHumanPlanners.html​www.optaplanner.org在规划方面,我们人类比机器(计算机)更强吗?或者说,自动规划技术能击败人类吗?我与一组软件工程师做了一个实验,结果...

2019-08-27 21:20:49 235

原创 Optaplanner与Google OR-Tools的区别

在规划相关的项目工作中,近两年我们的项目主要使用的是Optaplanner作为规划引擎,其核心也是一个的规划求解器(Solver)。但作为另一个著名开源求解器Google OR-Tools(下称OR-Tools)也日渐流行。且因Google自带流量的支持,OR-Tools有更多专门研究运筹的学者使用和研究。而Optaplanner则更偏向工程实践上的应用。本文就二者在技术特性、使用方法与场景等方面...

2019-06-21 14:46:57 1292

翻译 体现公平性公式在规划问题中的应用

本文是在Optaplanner创始人Geoffrey De Smet先生的一篇文章《Formula for measuring unfairness》的基础上进行翻译而成。因为其博文发表在Optaplanner的官网上,因此,其行文过程中存在一定的上下文默认情况,如果直译原文,将会大大降低其可读性。因此,本文是在原文的基础上添加一些本人修饰的表达而成。负载均衡在Optapalnner的应用案...

2019-04-18 02:15:32 477

原创 时间规划在Optaplanner上的实现

  在与诸位交流中,使用较多的生产计划和路线规划场景中,大家最为关注的焦点是关于时间的处理问题。确实,时间这一维度具有一定的特殊性。因为时间是一维的,体现为通过图形表示时,它仅可以通过一条有向直线来表达它的时刻和方向。相对而言,空间则可以存在多维,例如二维坐标,三维空间等,甚至在生产计划的规划场景中,各种资源可以表示为多个维度。因此,时间的一维特性,决定了在规划过程中,需要处理它的方法也具有一定的...

2019-03-14 01:59:48 682 2

原创 APS技术中的多目标规划问题

  在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的。但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别。事实上很多时候用户,面对此类问题也无法给出一个确定的合理的期望,因为多个目标混合在一起的时候,产生复杂的规划逻辑,用户自身也会被迷惑,到最后就错误地提出一些所有目标都达到极致的“完美”计划要求;但客观上是不存在这...

2019-01-29 15:13:54 500

原创 Excel与Google Sheets中实现线性规划求解

        很久没更新过APS系列文章了,这段时间项目工作确实非常紧,所以只能抽点时间学习一下运筹学的入门知识,算是为以后的APS项目积累点基础。看了一些运筹学的书(都是科普级别的)发现原来我目前面对的很多排产、排班、资源分配和路线规划问题,都是运筹学上的典型案例。与此同时,除了继续使用Optaplanner来做我们的规划类项目外,还花点时间去研究了一下Google OR-Tools开源规划引...

2019-01-22 00:07:49 879

原创 Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving

  Optaplanner 7.9.0.Final之前,启动引擎开始对一个Problem进行规划的时候,只能是单线程进行的。也就是说,当引擎对每一个possible solution进行分数计算的过程中,细化到每个步骤(Caculation),都只能排队在同一个线程中依次计算,不管你的问题是否存在并行计算的可能。很显示这种运算方式应用于一些可并行计划的场景下,是相当不利的。就算是一些在业务逻辑上无...

2018-10-12 00:17:36 291

翻译 【译】Optaplanner开发手册本地化: (0) - 前言及概念

  在此之前,针对APS写了一些理论性的文章;而对于Optaplanner也写了一些介绍性质,几少量入门级的帮助初学者走近Optaplanner。在此以后,老农将会按照Optaplanner官方的用户手册的结构,按章节地对其进行翻译,并成型一系列的操作说明文章。在文章中,为了降低对原文的理解难度,有些地方我不会直接按原文档的字面翻译,而是有可能加入一些我自己的理解,或添一些解释性的内容。毕竟英语环...

2018-09-14 02:13:32 796

原创 多工序、多机台(产线)环境下的排程要点

关于生产计划排程的种类及其特性释义:文中提到的资源,是指需要完成一个生产作业(或称任务,生产任务)所需的生产条件,例如机台、原料等,称为广义资源。 对于生产计划,常见有以下四种类型:单一工序,单一资源种类. 单一工序,多资源种类. 多工序,单一资源种类(较少见). 多工序,多资源种类.  下面对上述四种生产计划进行逐一分析,本文的分析,着重于计划的优化实现,而不是硬性规则的确保...

2018-09-06 20:57:58 7770

翻译 人工智能包括约束求解器吗?

  以下是翻译Optaplanner创始人Geoffrey De Smet的一篇文章《Does A.I. include constraint solvers?》。  因为英语及中文表达习惯的差异,以该博文发表示Optaplanner官网,其描述的问题及概念具有一定的上下文关联性;因此,为了认还不太熟悉Optaplanner的同学更容易理解,令文章更符合中文母语读者的阅读习惯,我并没有完全按字...

2018-08-17 00:43:12 582

原创 设计Optaplanner下实时规划服务的失败经历

  其实本文不知道算不算一个知识点分享,过程很美妙,但结果很失败。我们在利用Optaplanner的Real-Time planning(实时规则)功能,设计实时在线规划服务时,遇到一个属于Optaplanner7.8.0.Final版本的Bug。在实现实时在线规划服务的过程中,我做过很多尝试。因为需要实时在线的服务,因此,需要设计多线程并发为外界请求提供响应,需要实现消息队列来管理并发请求的时序...

2018-08-01 09:36:40 1091

原创 Optaplanner规划引擎的工作原理及简单示例(2)

开篇 在前面一篇关于规划引擎Optapalnner的文章里(Optaplanner规划引擎的工作原理及简单示例(1)),老农介绍了应用Optaplanner过程中需要掌握的一些基本概念,这些概念有助于后面的内容的理解,特别是关于将约束应用于业务规则上的理解。承上一文,在本篇中将会减少一些理论,而是偏向于实践,但过程中,借助实际的场景对一些相关的理论作一些更细致的说明,也是必要的。本...

2018-08-01 09:32:17 1280 4

原创 排产的两种方式(前推式与后拉式)在Optaplanner上的体现

生产计划的约束  在制定生产计划过程中,必然是存在某些制约因素,满足某些需求才能进行的,或是交期保证、或是产能限制、或是关键工序制约。即TOC理论 - 任何系统至少存在着一个制约因素/瓶颈;否则它就可能有无限的产出。就是说,如果不存在这个(或这些)制约因素,生产计划就没必要“排”了,只需随意地,毫无约束地把任意一个或多个生产任务纳入生产日程,都能满足生产、营业等所有业务要求。那也不需要人的智慧...

2018-08-01 09:19:06 5700 3

原创 Optaplanner规划引擎的工作原理及简单示例(1)

  在之前的文章中,老猿已介绍过APS及规划的相关内容,也对Optaplanner相关的概念和一些使用示例进行过介绍,接下来的文章中,我会自己做一个规划小程序 - 一个关于把任务分配到不同的机台上进行作来的小程序,并在这个小程序的基础上对Optaplanner中更多的概念,功能,及使用方法进行讲解。但在此之前,我需要先讲解一下Optaplanner在运行规则运算的原理。所以,本文是讲述一些关于寻找...

2018-08-01 09:17:02 1854

原创 OptaPlanner逐步学习(0) : 基本概念 - OptaPlanner,规划问题, 约束,方案

之前的文章中,分别从APS,排产到规划引擎叙述了一些理论基础;并介绍了一些OptaPlanner大概的情况;并一步步将Optaplanner的示例运行起来,将示例源码导进Eclipse分析了一下它的Hello world入门示例,从本篇开始,我们将分步学习它的一些概念及用法。什么是OptaPlanner 其实这个名称是作者将这个引擎贡献给了Jboss社区后,才使...

2018-08-01 09:13:25 797

原创 Optaplanner - 从探究示例中的hello world,初步认识规划引擎的运行步骤。

上一篇我们成功以把Opotaplanner规划引擎下载回来,并把它的示例运行起来,简单解析了一下它的Cloud balance示例。这一篇我们这些示例的源代码导入到Eclipse中,看看它在后台是怎么运行的。一、推荐使用Maven 在上一篇,我们已经从Optaplanner的官网下载了它的压缩包,它里面几乎包含了Optaplanner的所有东西,基本上有了这个包,...

2018-08-01 09:09:23 434

原创 关于APS在企业生产计划上的应用

本人本身是一个码农,已经服务了共和国各项事业(好像是说得有点漂,没办法段子看多了)大约一半工作时候了(按60岁退休的话),从一线的小码农,到现在成了老农,出产了不少或优或劣的各种码,几乎啥都做过。近几年慢慢沉淀到制造业信息化方面,主要是APS在生产计划方面的应用,APS - Advance Planning and Scheduling. 高级计划与排程;其实也就是做计划,只不过使用...

2018-08-01 09:05:22 635

原创 OptaPlanner - 把example运行起来(运行并浅析Cloud balancing)

       经过上面篇长篇大论的理论之后,在开始讲解Optaplanner相关基本概念及用法之前,我们先把他们提供的示例运行起来,好先让大家看看它是如何工作的。OptaPlanner的优点不仅仅是提供详细丰富的文档 ,还为各种应用场景提供丰富的示例,它的文档里都是以几个简单经典的例子来说名各种功能特征和深层次概念的,例如Solver, Phase及Move等,以下我们就先把这些示例运行起来,先看...

2018-08-01 09:00:10 1002

原创 Optaplanner - 入门介绍

OptaPlanner背景      在上一篇里喷了不少水,这一篇准备放点干货;其实也没办法完全干,因为很多预备知道在交待一下。好了,说一下关于OptaPlanner的背景、应用兼容性及其原理。       这一篇先说一下OptaPlanner是何方神圣,再看看它适用于哪种平台(.NET能用吗?老旧系统能用吗?),再从原理上探究一下,它是如何帮我们把一个看上去几乎不可能实现的工作,努力做到...

2018-08-01 08:56:46 2477

原创 浅尝一个排程引擎Optaplanner - 前序

该系列文章一开始在博客园上开始创作,后发现还有很多其它平台也有相当多的同学常去,于是也发在CSDB上,以后的新文章,CSDN将同步发布。谢谢支持。  当码农有10多年了,由建筑行业软件,各种MIS,通用物流定制平台,CCTV客户端(是闭路电视,不是央视喔)啥都做过。最后小试一下创业,不过那都是闹着玩的,不到一年就回到码农的队列,重拾搬砖的行当。近些年一直在制造业,做过ERP,当过小组负责人。有...

2018-08-01 08:50:25 1385

易排(EasyPlan)通用智能规划平台讲解视频1 - 平台的用处与用法

易排(EasyPlan)通用智能规划平台是由APS排程系统专家Kent Zhang开发的,供各种MES, MOM,ERP排程模块,及物流企业的VRP系统使用的,通用规划平台。可给有规划需求场景提供开箱即用的运筹优化引擎。 本视频是该平台讲解视频的首个视频,评述这个平台具体的作用,及如何使用该平台。

2022-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除