一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

操作工厂的制作方法

2022-06-22 16:05:25 来源:中国专利 TAG:


1.本发明涉及计算机程序和系统领域,并且更具体地说,涉及一种用于操作工厂的方法、系统和程序。


背景技术:

2.市场上提供了许多用于对象的设计、工程和制造的系统和程序。cad是计算机辅助设计的首字母缩略词,例如它涉及用于设计对象的软件解决方案。cae是计算机辅助工程的缩写,例如它涉及用于模拟未来产品的物理行为的软件解决方案。cam是计算机辅助制造的首字母缩略词,例如它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要的作用。这些技术可能嵌入在产品生命周期管理(plm)系统中。plm指的是一种商业战略,帮助企业共享产品数据,应用通用流程,并利用企业知识进行从概念到产品生命尽头的跨越扩展企业概念的产品开发。达索系统(dassault syst
è
mes)(以catia,enovia和delmia为商标)提供的plm解决方案提供了一个组织产品工程知识的工程中心、一个管理制造工程知识的制造中心和一个使企业集成和连接工程和制造中心的企业中心。整个系统提供了一个开放的对象模型,连接产品、流程和资源,实现动态的、基于知识的产品创建和决策支持,从而推动优化的产品定义、制造准备、生产和服务。
3.在这种上下文下和其他上下文下,确定工厂的操作模式面临越来越大的利益。在确定工厂操作模式的目标中,一个是通过向操作工厂的计算机系统提供一组指令和设置以自动使工厂执行一个或多个制造过程以生产对象(例如,机械零件)来自动操作自动化工厂。在确定工厂操作模式(有时称为“制造调度”)的其他目标中,一个目标是计划必须在什么时间执行特定生产任务、在工厂的哪台机器上、由哪些操作者和/或使用哪些供应品,同时优化给定的结果,例如生产持续时间、能源消耗、产品质量(例如,制造任务必须在特定时间内按特定顺序执行,例如,必须在成型任务(molding task)之后进行脱模任务(demolding task))或安全性(例如,9通过确保始终有足够的工人/雇员监视工厂)。
4.在工业环境中,用于调度用于操作工厂的制造过程的现有方法使用两步优化方法。在第一步,优化算法找到机器的最佳调度。在第二步,给定机器的时间表,优化算法为工人找到最佳时间表。在实际的工业情况下,此类时间表是理论上的或理想化的,因为意外问题总是会发生(机器故障、工人生病、要满足的新紧急命令、安全问题/紧急情况)。如果发生这种扰动,将由工人自己寻找解决方案(例如,通过自己应对安全紧急情况),或者,如果时间充足,则可以通过算法计算出新的解决方案,该算法将尝试最小化与先前解决方案的差异。因此,现有方法缺乏对制造事件发生的鲁棒性和适应性。
5.在学术领域,人们设想了许多方法。其经常受到博弈论的启发。博弈论启发的解决方案将机器和操作者视为具有各个目标的实体,并将相互协商以决定谁将被授予执行任务的权利。
6.然而,仍然需要改进的用于操作工厂的方法。


技术实现要素:

7.因此提供了一种用于操作工厂的计算机实现的方法。该方法包括提供一个或多个制造任务。每个制造任务都由演化规律(evolution law)表示。演化规律描述了通过使用资源的一个或多个可管理机器进行的产品的制造步骤。该方法进一步包括提供一个或多个制造约束。该方法进一步包括提供一个或多个制造事件。该方法还包括基于一个或多个制造约束以及对要制造的产品的一个或多个约束来确定工厂的操作模式。该确定包括一次或多次迭代。每次迭代包括对于每个制造任务,计算制造任务的相应倾向(propensity)。倾向表示在给定约束和/或一个或多个制造事件的先前发生的情况下选择任务来制造产品的频率。迭代还包括根据一个或多个制造任务的相应倾向的降序对一个或多个制造任务进行排序。迭代还包括根据所述排序访问所述一个或多个制造任务,并且对于每个访问的任务,向所述任务施加(affect)用于执行该任务的一个或多个可管理机器和资源。迭代可以进一步包括执行一个或多个任务直到发生一个或多个制造事件。
8.该方法可包括以下特征中的一项或多项特征:
[0009]-对于每个制造任务,所述倾向是以下各项中的每一项的递增函数:
[0010]
o一个或多个可管理机器的数量,
[0011]
o在制造步骤之前产品状态的数量,
[0012]
o资源的数量高于执行所述制造步骤所需的资源阈值的指示符;
[0013]-对于一个或多个制造任务,所述函数也是所述一个或多个可管理机器的操作者的数量的递增函数;
[0014]-对于一个或多个制造任务,所述函数也是奖励对所述约束中的至少一个约束的遵守的项的递增函数;
[0015]-对于一个或多个制造任务,所述函数也是用于促进工厂的慢速和/或经济操作的参数的递增函数;
[0016]-函数是其变量的乘积;
[0017]-排序包括将通过等于所述倾向的参数的指数规律(exponential law)给出的排名归于每个制造任务;
[0018]-指数规律还取决于随机生成的数字;
[0019]-确定还包括在每次迭代时,在执行之后:
[0020]
o更新关于要制造的产品的数据;
[0021]-所述提供包括,对于每个制造任务,通过由化学反应表示所述制造任务来定义演化规律,其中所述化学反应是以下类型的:
[0022]
m r sn=》is
[0023]
is=》m s
n 1
[0024]
其中m代表一个或多个可管理机器,r代表资源,sn代表制造任务执行前产品的状态,is代表在由制造任务转换的同时的产品,并且s
n 1
代表所述制造任务的执行后产品的状态,并且其中所述制造任务的相应倾向由以下公式给出:
[0025]
p=[m][sn]{[r]≥c}[rp]
[0026]
其中p是倾向,[m]是一个或多个可管理机器的数量,[sn]是制造步骤之前状态产品的数量,{[r]≥c}是资源数量高于执行制造步骤所需的资源阈值的指示符,c是阈值,并
且[rp]是奖励对至少一个约束的遵守的项;和/或-该方法还包括:基于所确定的操作模式,将可管理机器和资源指派给相应的制造任务,并且在指派之后,操作所述工厂。
[0027]
还提供了一种包括用于执行该方法的指令的计算机程序。
[0028]
还提供了一种设备,包括其上记录有计算机程序的数据存储介质。
[0029]
该设备可以形成或用作非暂时性计算机可读介质,例如在saas(软件即服务)或其他服务器、或基于云的平台等上。该设备可以可替代地包括耦合到数据存储介质的处理器。因此,该设备可以整体或部分地形成计算机系统(例如,该设备是整个系统的子系统)。该系统还可以包括耦合到处理器的图形用户界面。
[0030]
还提供了一种工厂,包括至少一个可管理机器,至少一个可管理机器可通过根据该方法确定的工厂的操作模式来操作。
附图说明
[0031]
现在将通过非限制性示例的方式并参考附图描述本发明的实施例,其中:
[0032]-图1示出了该方法的示例的流程图;
[0033]-图2至图4示出了该方法;以及
[0034]-图5示出了该系统的示例。
具体实施方式
[0035]
参考图1的流程图,提出了一种用于操作工厂的计算机实现的方法。该方法包括提供s10一个或多个制造任务。每个制造任务都由一个演化规律表示。演化规律描述了由使用资源的一个或多个可管理的机器进行的产品的制造步骤。该方法进一步包括提供一个或多个制造约束。该方法进一步包括提供一个或多个制造事件。该方法还包括基于一个或多个制造约束以及对要制造的产品的一个或多个约束来确定s20工厂的操作模式。确定s20包括一次或多次迭代s250。每次迭代包括对于每个制造任务计算s210制造任务的相应倾向。倾向表示在给定约束和/或一个或多个制造事件的先前发生的情况下任务被选择以用于制造产品的频率。该迭代还包括根据一个或多个制造任务的相应的倾向的降序对一个或多个制造任务排序s220。该迭代还包括根据排序访问s230一个或多个制造任务,并且对于每个访问的任务,向该任务施加一个或多个可管理机器和用于执行该任务的资源。迭代进一步包括执行s240一个或多个任务,直到发生一个或多个制造事件。
[0036]
这构成了一种改进的用于操作工厂的方法。
[0037]
值得注意的是,该方法允许通过确定工厂的操作模式来操作工厂。操作模式是指在给定约束和事件发生的情况下为工厂运行而执行的一组指令和设置,即在给定约束和事件发生的情况下以适当的顺序执行适当的制造任务以制造产品。所确定的操作模式可以尤其用于自动操作自动化工厂。所确定的操作模式可以由该方法作为计算机实现的数据结构(例如,文件)输出。然后可以将确定的操作模式馈送到操作自动化工厂的计算机系统。计算机系统然后可以读取操作模式并实施其指令,从而使自动化工厂根据操作模式运行。换言之,操作模式可以由自动化工厂直接实施。
[0038]
可替代地,在计算机上执行的方法的每次运行可以对应于制造时间表的实例,每次运行产生确定的操作模式,然后可以将其提供给现实生活中的工人。如果执行多次运行
(因为该方法运行速度快,所以这是可能的),则可以根据特定标准选择最佳运行。
[0039]
如上所述,该方法运行速度快,即该方法非常快地确定操作模式,例如在几秒或几分钟内,在确定操作模式内的每次迭代都非常快地执行。这提供了对先前讨论的现有技术优化方法的显著改进,因为它允许工厂的操作实时适应实时发生的事件。
[0040]
无论工厂是否自动化,操作模式都可以包括以下各项或由以下各项组成:用于执行一个或多个制造任务的时间表,以及执行每个任务的指令,和/或将资源和/或操作者(例如,操作机器的工人或计算机系统)和/或机器执行指派给给定的制造任务。换句话说,时间表可以描述哪些任务必须由哪个(些)机器和哪个(些)操作者执行,以及这些任务的开始时间和结束时间。操作模式因此可以用于将可管理机器、操作者(如果有的话,因为可管理机器可以自动化并由计算机系统操作)和资源指派给相应的制造任务。然后,工厂可以根据确定的操作模式来操作,例如通过实施指令和指派。该方法产生的操作模式(例如,以时间表的形式)是可使用的、可行的和现实的,因为该方法处理多个制造任务,例如涉及多个机器和操作者,这些任务同时执行,这是正是真实工业世界中发生的情况。
[0041]
现在,该方法基于多个输入确定操作模式。输入包括与工厂相关的输入:一个或多个制造任务,每个任务由涉及一个或多个可管理机器和资源的演化规律表示(即,建模);以及一个或多个操作者(如果有,如前所述);一个或多个制造约束;以及一个或多个制造事件。输入还可以包括关于工厂的输入,例如工厂的机器列表和工厂的操作者(即,如前所述的工人和/或计算机系统)列表。输入还包括与要制造的产品相关的输入,即对产品的一个或多个约束。基于这些输入,该方法在给定输入的情况下通过将产品制造的制造任务视为随时间演化的演化规律来确定操作模式,时间演化代表产品的制造演化。具体来说,该方法根据制造任务的倾向对制造任务进行排序,倾向是在给定约束的情况下,在产品制造过程中选择任务的频率。因此,这些倾向优先考虑一些任务而不是其他任务。然后,该方法按照任务的倾向的降序执行任务,即首先执行优先的任务。换句话说,该方法执行的任务被视为一组系统,这些系统根据具有相对于彼此的优先级的演化规律演化。
[0042]
这种在时间上和顺序地执行制造任务的方式使得能够特别高效和鲁棒地确定操作模式,特别是当应该停止执行任务的制造事件被考虑为不同演化规律在相对于彼此的优先级的情况下演化的扰动时。具体而言,在发生了制造事件(例如,资源不足、机器故障、电气故障、产品数量达到阈值或任务执行结束)时,该方法返回到倾向计算并且然后根据他们新计算的倾向重新执行任务。换句话说,该方法将工厂/生产系统(即,任务集)视为可以实时模拟的自主系统。事实上,该方法模拟了这个自主系统的时间演化。正如该方法所模拟的那样,该自主系统根据具有相对于彼此的优先级的演化规律演化,并且制造事件的发生被视为赋予对优先级的重新计算的一组系统的时间演化的扰动。这允许在确定操作模式时实时考虑制造事件的发生,在每次发生时,对任务的执行顺序进行调整直到下一次发生。换言之,该方法通过实时调整制造任务的组织以适应制造事件的发生来确定操作模式。因此,当用于操作工厂时,正在被实施的操作模式使工厂的操作对(例如,意外或突然的)事件具有鲁棒性并实时适应这些事件。由该方法模拟的自主系统是鲁棒的并且不断对不可预测的外部扰动做出反应,并且在发生扰动时不需要重新计算/重置系统。
[0043]
由该方法产生的操作模式可以例如允许工厂适应(例如,自动地)安全紧急情况,并且更一般地适应威胁工厂运行安全的事件。换言之,操作模式可以允许提高工厂的安全
性。例如,操作模式可以允许自动化工厂在发生了威胁安全的事件时自动停止并自动触发安全应急程序(safety emergency procedure)。附加地或替代地,操作模式可以包括改进的安全应急程序,该程序允许操作者对威胁安全的事件的发生快速做出反应。在另外其他示例中,为了安全,该方法可以确保工厂中有足够的工人或雇员同时存在以监视工厂。附加地或替代地,该方法的响应性允许确保所制造的产品的质量。产品的制造可能确实受到制造任务必须顺序地在一定时间内执行这一事实的约束。例如,当产品的制造需要执行成型和脱模操作时,可能是这种情况,脱模操作发生在成型操作之后。该方法可以使工厂的操作适应发生的事件,从而减少这些事件对任务的这种顺序和特定执行的影响。在另外其他情况下,例如在过程型工业(下文将讨论)的背景下,工厂制造的产品或其中间状态可能以到期约束为特征。例如,产品或其中间状态(例如,化学成分)不能在工厂存放过久,否则可能会造成质量损失。该方法可以处理这样的约束,如下文进一步讨论的,从而保持这样的产品的质量。
[0044]
此外,该方法不需要制造任务的执行的输入先验时间表(a priori schedule)。制造任务集在方法执行的迭代期间自行演化,不断且实时地使自己适应事件的发生。如前所述,这允许使用由该方法确定的操作模式来自动操作自动化工厂。然后,执行操作模式的自动化工厂将不断且实时地使自己适应事件的发生。由于其对事件发生的适应性,该方法产生了确定的操作模式,该模式趋于在给定事件发生的情况下优化用于制造产品的过程内机器、操作者(如果有的话)以及资源的指派。因而,以确定的操作模式操作工厂允许资源经济、能源经济、提高的生产率以及机器和操作者的优化使用。
[0045]
令人惊讶的是,制造任务的演化规律可以很好地建模为化学反应。事实上,发明人已经发现制造任务的时间演化可以很好地建模为以下的化学反应:其中,资源、参与任务的机器和参与任务的操作者(如果有的话,如前所述讨论)以及正在制造的产品的当前状态扮演化学反应的反应物的角色,并且其中,参与任务的机器和参与任务的操作者(如果有的话,如前所述)以及正在被制造的产品的下一个状态扮演化学反应结果的角色。发明人已经在活细胞内的蛋白质生产与实际制造过程之间建立了令人惊讶的惊人相似之处。
[0046]
因此,该方法可以通过将工厂/制造系统视为自主生化过程来确定工厂的操作模式,该方法将每个任务视为化学反应,涉及机器、操作者(如果有的话)、正在被生产的对象和资源。任务的倾向与化学反应开始的倾向/速度相对应,并且这些倾向不断适应事件的发生,使得制造任务集总是使自己适应工厂的当前情况,就像一组化学反应(也称为“反应器(reactor)”)将不断使自己适应扰动事件一样。换句话说,与现有技术优化方法不同,工厂自行演化。
[0047]
方法用于操作工厂。
[0048]“操作工厂”是指该方法产生工厂的操作模式。该方法可以产生不止一种这样的操作模式,例如当该方法以不同的输入和/或对于不同的待制造产品重复时。该方法因此可以包括输出s260由该方法确定的工厂的操作模式的步骤。在本公开中,操作模式是指在给定约束的情况下用于操作用于制造产品的工厂的一组指令和设置(即,要被执行)。操作模式可以例如包括以下各项之一或任意组合:
[0049]-给定约束情况下用于制造产品的工厂的时间表。该时间表可以包括工厂的可管理机器的可用性的时间表。时间表可以包括操作者的时间表,包括例如工人的时间表和/或
操作机器的计算机系统的可用性的时间表。该时间表可以包括用于制造产品的资源的交付时间表。时间表可以包括制造事件的发生;
[0050]-指派。指派可以包括将可管理机器指派以进行制造任务,例如,在给定时间表的情况下。指派可以包括将操作者指派给用于执行制造任务的可管理机器,例如,在给定时间表的情况下。指派可以包括对制造任务的资源分配,例如,在给定时间表的情况下;
[0051]-制造指令。制造指令可以包括用于制造产品的一般制造指令,例如关于要制造的产品的数量、质量和/或类型的指令。制造指令可以包括用于制造产品的特定制造指令,即给予特定操作者和/或机器以执行特定任务的制造指令。
[0052]
操作模式可以形成计算机实现的数据结构(例如,文件)。操作模式可以用于操作工厂。例如,使用由该方法确定的操作模式,该方法还可以包括将可管理的机器和资源指派(即,在现实世界的工厂中)给相应的制造任务。该方法还可以包括使用所确定的操作模式将操作者指派给相应的制造任务。该方法然后可以包括使用所确定的操作模式(即,根据所确定的操作模式,例如,通过遵循其中的时间表、任务和/或指令)来操作工厂。工厂可以是自动化工厂。在这种情况下,所确定的操作模式的输出s260可以在于将所确定的操作模式自动传送到操作自动化工厂的计算机系统。在接收到传送的操作模式时,计算机系统可以存储操作模式和/或(例如,稍后)读取操作模式,操作模式的读取导致将自动化机器和资源指派给制造任务并且导致使用操作模式自动操作工厂。计算机系统可以例如通过遵循被包括在确定的操作模式中的时间表、指派和/或指令,来使自动化工厂的机器自动执行产品制造所需的制造任务。
[0053]
工厂可以是任何类型的工厂。工厂是一座建筑物或一组建筑物,其中使用由操作者(例如,人类和/或计算机系统)操作的机器制造(例如,大量)货物(例如,各种类型的货物)。工厂也可以被称为“厂房”。工厂可以是“车间”或“仓库”。工厂可能是一个生产链。工厂可以是自动化工厂,例如自动化生产链。工厂可以被配置为制造任何类型的制造产品,例如(例如,机械)零件或零件组装件(或等效的零件组装件,因为从方法角度来看,零件组装件可被视为零件本身),或更一般的任何刚体组装件(例如,移动机构)。工厂可以配置用于制造各种不受限的工业领域的产品,包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、海洋和/或海上石油/天然气生产或运输。工厂制造的产品可以是任何机械零件,例如地面车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和机动车设备、卡车和公共汽车、火车)的一部分,飞行器(包括例如机身设备、航空航天设备、推进设备、国防产品、航空设备、航天设备)的一部分,海上载具(包括例如海军设备、商用船、海上设备、游艇和工作船、船舶设备)的一部分,通用机械零件(包括例如工业制造机械、重型移动机械或设备、安装设备、工业设备产品、金属制品、轮胎制品),机电或电子零件(包括例如消费类电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和装备),消费品(包括例如家具、家居和花园产品、休闲用品、时尚产品、硬商品零售商的产品、软商品零售商的产品),包装(包括例如食品和饮料和烟草、美容和个人护理、家用产品包装)。工厂制造的任何产品可以是或包括(例如,作为产品的组件)模制零件(即,通过模制工艺制造的零件)、机加工零件(即,通过机加工工艺制造的零件)、钻孔零件(即,通过钻孔工艺制造的零件)、车削零件(即,通过车削工艺制造的零件)、锻造零件(即,通过锻造工艺制造的零件)、冲压件(即,通过冲压工艺制造的零件)和/或折叠零件(即,通过折叠工艺制造的零件)中的一种或
多种。
[0054]
工厂也可以是过程型行业的工厂,即产品可能经历化学转化的行业,例如造纸行业、化学行业、化妆品行业、制药行业或农业食品行业。因此,工厂制造的任何产品都可能是这些行业中的任何产品,例如化学产品、药品、化妆品、农业食品或纸制品。此类产品可能以到期约束为特征,例如成品或其中间状态不能在工厂内存放太久,否则会造成质量损失。
[0055]
在该方法的一个示例中,工厂是专门制造汽车零件(即,汽车的机械零件)的工厂。这个示例的工厂是专门生产汽车制动组装件的,例如每个制动组装件均包括制动卡钳、制动衬垫和转子/转盘。制动卡钳装有制动衬垫以抓住转子。制动卡钳安装在带有支架的车辆上,从而构成转子的框架。卡钳包括制动衬垫,制动衬垫是用材料粘合的金属板,所述材料提供止动摩擦力。这个示例的工厂是自动化的。
[0056]
工厂包括可管理的机器,每个机器被配置为执行制造任务的至少一部分,制造任务执行制造过程的一部分,也称为“制造步骤”。机器是能够通过计算机操作或以自主方式执行制造任务的装置或一组装置。可管理机器是可以被管理的机器,即机器的设置和参数是可修改的。机器可以由一名或多名操作者管理。例如,机器可以由工人管理,工人手动(例如,利用计算机从远处)修改机器的设置和参数并且可以由工人(至少部分地)手动操作以执行制造任务。可替代地,机器可以是部分自动化的。例如,机器的设置和参数可以由工人修改,例如利用计算机从远处,但在工人启动机器时,机器可以自动地自行执行至少一部分制造任务。然而,机器可以包括可由机器的人类操作者(即,工人)操作的控制命令(例如,紧急停止命令)。在另一替代方案中,机器还可以是全自动机器,即机器完全由计算机系统自动监控,计算机系统设置机器参数、启动机器并控制机器(例如,计算机系统可以自动发起紧急停止程序)。
[0057]
这里的每台机器都执行(即,自行地或与其他机器一起)制造任务:给定要制造的产品的状态(即,产品的一部分或产品的分离部分,或产品本身但未完成)和资源,机器(例如,可能由一个或多个操作者管理和操作)将产品转变为另一种状态(例如,产品的一部分被修改或与其他部分组装,或未完成的产品本身被修改)。这里的任何机器都可以统一地执行制造任务,即顺序地且逐个产品地。可替代地,这里的任何机器都可以对一批产品同时执行制造任务。资源可以包括以下材料的一件或多件(例如,处于原始状态或转变后状态):
[0058]-有机材料或有机聚合物,即以长碳链形式形成的材料,如木材、棉花、羊毛、纸、纸板、塑料、橡胶和皮革;
[0059]-金属材料,即涉及金属结合的材料,即金属和金属合金,包括铁、铝、钢、铜、青铜、金、银和/或铸铁或由它们组成;
[0060]-复合材料,例如玻璃纤维、碳纤维或凯夫拉纤维增强的塑料、混凝土、钢筋混凝土和胶合板;和/或
[0061]-矿物或陶瓷材料,例如岩石、天然石材、陶瓷、石膏、砖、玻璃和矿物。
[0062]
资源还可以包括供水、供气、供电和/或一种或多种化学产品(例如,油漆或着色剂)。资源还可以包括产品的预制组件,例如预制的电气或电子组件(例如,电路)。
[0063]
这里的任何机器可能是:
[0064]-加工工具(即,执行至少一部分加工过程的工具),例如拉床、钻床、插齿机、滚齿机、珩磨机、车床、螺丝机、铣床机、钣金剪)、成型机、锯、刨床、stewart平台铣床、磨床、多任
务机床(例如,具有将车削、铣削、磨削和/或材料处理组合为一个高度自动化的机床的多个轴);
[0065]-压缩成型机(即,执行压缩成型过程的至少一部分的机器),通常包括至少一个模具或模制基质,例如闪光柱塞型模具、直柱塞型或落地柱塞型模具;
[0066]-注射成型机(即,执行注射成型过程的至少一部分的机器),例如压铸机、金属注射成型机、塑料注射成型机、液态硅注射成型机、或反应注塑机;
[0067]-旋转切削工具(例如,执行钻孔过程的至少一部分),例如钻头、埋头孔、沉头孔、丝锥、模具、铣刀、铰刀或冷锯片;
[0068]-非旋转切削工具(例如,执行车削过程的至少一部分),例如尖头工具或成形工具;
[0069]-锻造机(即,执行锻造过程的至少一部分),例如机械锻压机(通常包括至少一个锻模)、液压锻压机(通常包括至少一个锻模)、以压缩空气为动力的锻锤、以电力为动力的锻锤、以液压为动力的锻锤、或以蒸汽为动力的锻锤;
[0070]-冲压机(即,执行冲压过程的至少一部分),例如冲压机、机器压力机、冲床、下料机、压花机、折弯机、翻边机或压币机;
[0071]-折弯机或折叠机(即,执行折弯或折叠过程的至少一部分),例如盒式和盘式制动器、压弯机、折叠机、面板折弯机或机器压力机;
[0072]-点焊机器人;或者
[0073]-电气喷漆工具(即,执行产品喷漆过程的至少一部分),例如(例如,电气)汽车喷漆机器人。
[0074]
在先前讨论的工厂生产制动器组装件的示例中,机器包括金属成型机,每个金属成型机都用于成型转子。这些机器还包括金属成型机,每个金属成型机都用于成型制动卡钳。这些机器还包括金属成型机,每一个每个金属成型机都用于成型制动衬垫。这些机器还包括注塑机,每台注塑机都用于模制橡胶以结合制动衬垫。这些机器还包括钻孔机,每个钻孔机都用于在转子中钻出圆形图案的孔,每个孔被配置为当制动组装件安装在车轮上时接收车轮螺栓。该机器还包括组装链,其中衬垫、卡钳和转子被组装以形成适于安装在车轮上的制动组装件。因此,工厂的资源包括构成转子、制动卡钳和制动衬垫的金属,例如铸铁。工厂的资源还包括用于结合制动衬垫的橡胶。资源还包括机器运行所需的水和电。该示例的工厂的机器共同形成了一条生产链,其使用诸如铸铁之类的金属以及橡胶将它们转变为制动组装件。
[0075]
回来参考图1,如前所述,该方法包括,在确定s20工厂的操作模式之前,提供s10用于确定操作模式的输入。
[0076]
输入包括一个或多个制造约束。制造约束是与工厂中执行的制造操作相关的约束。一个或多个制造约束的提供s10可以由用户执行,例如它定义了描述约束的数据。一个或多个制造约束可以作为列表提供,列表的每一项都是约束并且例如与描述约束的数据相关联。一个或多个制造约束可包括以下一项或多项:
[0077]-工厂内操作者的最大数量;
[0078]-执行两个制造任务之间所需的时间,例如短时间,例如以避免产品或其部件到期;
[0079]-针对一个或多个制造任务确保有特定操作者在场;
[0080]-确保两个任务不会同时执行,例如为避免爆炸风险;
[0081]-确保两个任务同时执行;
[0082]-给予生产速度或成本经济优先级;
[0083]-在预定时间范围内的最大电力、水和/或燃气消耗量;
[0084]-工厂正常运转所需的最少量的电力、水和/或燃气供应量;
[0085]-工厂中可以同时存储的最大资源量;
[0086]-在一个或多个机器周围应该空闲的最小空间;和/或
[0087]-可以在工厂中同时存储的产品的最大数量和/或产品的中间状态的最大数量。
[0088]
在用于制造制动组装件的工厂的先前讨论的示例中,制造约束可以包括可以在工厂中同时存储的制动衬垫、卡钳和/或转子的最大数量。具体来说,由于工厂的机器共同形成了一个自动化的生产链,所以要求不同时存放太多的制动组装件的分离组件,因为这可能会造成生产链的扰动。类似地,约束可以包括可以存储在工厂中的成品制动组装件的的最大数量。
[0089]
输入还包括一个或多个制造事件。制造事件是发生在产品制造过程中并对产品制造产生影响的事件。一个或多个制造事件的提供s10可以由用户执行,例如它定义了描述事件的数据。该事件可能是意外事件,例如:
[0090]-一个或多个机器故障;
[0091]-电、气和/或水的切断;
[0092]-一名或多名意外缺勤的工人;
[0093]-生产订单(例如,由于客户需求),例如优先于当前正在制造的产品的意外订单。订单可能包括许多要制造的产品及其到期日,以及制造这些产品必须执行的任务;
[0094]-网络故障(例如,在自动化工厂的情况下)、火灾紧急情况;
[0095]-气体爆炸;
[0096]-工厂内空气的变化,例如温度或湿度的变化,例如在制药或农业食品上下文中;
[0097]-计划外的安全检查;和/或
[0098]-工人健康问题和/或受伤和/或缺乏资源(例如,由于错过交付)。
[0099]
在前面讨论的用于制造制动组装件的工厂的示例中,意外事件可能包括最终组装制动器零件的组装链发生故障,和/或由金属成型机之一引起的火灾。
[0100]
该事件也可能是预期事件或在产品制造期间应该发生的事件,例如:
[0101]-一个或多个制造任务被完全执行;
[0102]-产品已被生产足够数量/期望数量的副本;
[0103]-操作者的计划换班;
[0104]-机器的计划换班(例如,机器维护);
[0105]-计划的安全检查;
[0106]-新操作者到机器上;
[0107]-新机器的到来;
[0108]-维护操作,即引起一个或多个机器退出;
[0109]-安全控制;和/或
[0110]-至少一些工人的休息(例如,午休或休息日)。
[0111]
在用于制造制动组装件的工厂的之前讨论的示例中,预期事件包括工厂机器的安全控制、维护操作和/或一些任务的结束。
[0112]
一个或多个制造事件可以作为列表被提供,列表的每一项都是事件并且例如与描述该事件的数据相关联。
[0113]
输入还包括一个或多个制造任务。制造任务是制造过程的一部分,即制造任务可能对应于制造过程的一部分/步骤,或者可能是制造过程本身,从头到尾。产品的制造可能包括一个或多个制造过程(例如,产品的几个零件由几个不同的制造过程制成,并且可能有一个或多个制造过程将零件组装在一起),每个制造过程是一个或更多个制造任务的序列。一个或多个制造任务可以作为列表被提供,列表中的每一项都是任务并且例如与描述该任务的数据相关联。描述任务的数据可以例如包括任务的特征,例如任务的持续时间、任务的能量消耗、执行任务所需的资源、执行任务所需的工作资格和/或重新配置先前使用过的机器以便再次使用这台机器来执行该任务的时间。
[0114]
每个制造任务都由演化规律表示,该演化规律描述了由使用资源的一个或多个可管理机器进行的产品的制造步骤。因此可以在s10处向制造任务提供描述演化规律的数据。演化规律是接受输入并基于输入产生至少一个输出的变换。演化规律以下面各项作为输入:
[0115]-由制造任务消耗的产品的当前状态,即在经历制造任务之前的产品状态。当前状态可以由要组装在一起的产品的多个零件/组件和/或产品的未完成状态的多个零件/组件组成;
[0116]-一个或多个用于执行任务的可管理机器,一个或多个机器共同将产品的当前状态转变为下一个状态;
[0117]-用于操作非自动化机器的一名或多名操作者(如果有);以及
[0118]-执行任务所需的资源(也称为供应品(supply)),即由任务消耗的资源,即机器用于将产品的当前状态转变为下一个状态的资源。
[0119]
演化规律输出产品的下一个状态、机器和操作者(如果有)。
[0120]
在前面讨论的工厂示例中,一个或多个制造任务包括以下各项:
[0121]-转子成型,其中金属成型机使用金属(例如,铸铁)和它们运行所需的资源(例如,电力)来成型转子;
[0122]-卡钳成型,其中金属成型机使用金属(例如,铸铁)和它们运行所需的资源(例如,电力)来成型卡钳;
[0123]-衬垫成型,其中金属成型机使用金属(例如,铸铁)和它们运行所需的资源(例如,电力)来成型衬垫;
[0124]-转子钻孔,其中钻孔机在每个转子上钻出圆形图案的孔,使得孔适合接收每个车轮螺柱,钻孔机需要电力才能运行以对转子进行钻孔;
[0125]-橡胶注射成型,其中橡胶注射成型机使用橡胶(例如,铸铁)和它们运行所需的资源(例如,电力)来成型橡胶零件以粘合衬垫;以及-最终组装,其中组装链将衬垫上的橡胶零件结合起来(例如,在衬垫和卡钳之间的摩擦区域处每个衬垫的每一侧上各有一个),并与每个钻孔转子组装两个橡胶结合的衬垫和一个卡钳。
[0126]
由于在这个示例中工厂是自动化的,计算机系统监督所有制造任务(以及整个生产链)并操作每台机器。因此,除了计算机系统之外,没有操作者参与任务。
[0127]
用户可以提供s10制造任务,例如通过提供演化规律,例如通过对演化规律进行编码。在示例中,提供s10一个或多个制造任务包括,对于每个制造任务,通过用化学反应表示制造任务来定义演化规律。化学反应是以下类型的:
[0128]
m r sn=》is
[0129]
is=》m s
n 1
[0130]
其中m代表一个或多个可管理的机器,r代表资源,sn代表制造任务执行前产品的状态(即,产品的当前状态),is代表正在被制造任务转换的同时的产品,以及s
n 1
代表制造任务执行后的产品的状态(即,产品的下一个状态,其也可以称为“新状态”,并且它比当前状态更接近产品的最终状态)。
[0131]
在之前讨论的工厂示例中:
[0132]-对于转子成型任务,m代表金属成型机,r代表金属和成型机运行所需的资源(例如,电力),sn代表成型前的金属(例如,铸铁原材料),并且s
n 1
代表成型的转子;
[0133]-对于卡钳成型任务,m代表金属成型机,r代表金属和成型机运行所需的资源(例如,电力),sn代表成型前的金属(例如,铸铁原材料),并且s
n 1
代表成型的卡钳;
[0134]-对于衬垫成型任务,m代表金属成型机,r代表金属和成型机运行所需的资源(例如,电力),sn代表成型前的金属(例如,铸铁原材料),并且s
n 1
代表成型的衬垫;
[0135]-对于转子钻孔任务,m代表钻孔机,r代表成型机运行所需的资源(例如,电力),sn代表钻孔前的成型转子,并且s
n 1
代表钻孔的转子;
[0136]-对于橡胶注射成型任务,m代表橡胶注射成型机,r代表橡胶和成型机运行所需的资源(例如,电力),sn代表成型前的橡胶(例如,橡胶原料),并且s
n 1
代表用于结合衬垫的成型的橡胶零件;并且-对于最终组装任务,m代表组装链中的机器,r代表这些机器运行所需的资源(例如,电力),sn总共代表钻孔的转子、成型的衬垫、成型的橡胶零件和成型的卡钳,并且s
n 1
代表最终的制动组装件。
[0137]
如果制造任务涉及用于操作一个或多个可管理机器的一名或多名操作者,则化学反应可能是以下类型的:
[0138]
m o r sn=》is
[0139]
is=》m o s
n 1
[0140]
其中m代表一个或多个可管理的机器,o代表一个或多个操作者,r代表资源,sn代表制造任务执行前产品的状态,is代表在被制造任务转换的同时的产品,并且s
n 1
代表制造任务执行后的产品的状态。
[0141]
图2示出了被表示为化学反应的制造任务的示意图。o(操作者)、m(机器)、r(资源)、sn(产品的当前状态)扮演反应物的角色。rp1、rp2和rp3(约束)是化学反应的外部约束(例如,温度或压力)。
[0142]
在产品的实际制造过程中,可能必须同步两个任务:第二任务t2必须在第一任务t1结束后不久(例如,在长度低于预定阈值的时间范围内)开始,或在任务t1开始之后不久(例如,在长度低于预定阈值的时间范围内)开始,或在任务t1开始时开始。该方法可以通过将这两个任务表示为单个制造任务来集成这样的同步任务,其中单个演化规律总共表示这
两个任务的执行。单个演化规律可能是两个任务的演化规律的级联(concatenation)。只有当两个任务所需的所有资源都可用时,单个任务才可以开始。该方法还以相同的方式处理必须同步的三个或更多任务的情况。例如,任务t3可能必须在另一个任务t2之后(例如,不久)开始,而另一个任务t2本身可能必须在另一个任务t1之后(例如,不久)开始。在其他示例中,t3和t2必须同时被执行,并且在执行t1之后(例如,不久)执行。利用单个演化规律,该方法通过将这三个或更多同步任务表示为单个任务来集成它们。对于两个同步任务的情况,单个演化规律是三个或更多任务的演化规律的级联。级联允许预订和保存执行同步的任务所必要的资源和机器以及操作者(如果有),因为在执行同步任务的同时防止将它们归于其他任务。
[0143]
同步任务的化学反应如下进行。令t1和t2是两个必须同步的任务。
[0144]

[0145]
m1 r1 sn=》is1
[0146]
is1=》m1 s
n 1
[0147]
是任务用于t1的化学反应,其中m1代表用于任务t1的可管理机器,r1代表用于任务t1的资源,sn代表t1执行前产品的状态,is1代表在被t1转换的同时的产品,并且s
n 1
代表执行t1后产品的状态。令
[0148]
m2 r2 s
n 1
=》is2
[0149]
is2=》m2 s
n 2
[0150]
是用于任务t2的化学反应,其中m2代表用于任务t2的可管理机器,r2代表用于任务t2的资源,s
n 1
代表t2执行前产品的状态,其为t1的结果,is2代表在被t2转换的同时的产品,并且s
n 2
表示执行t2后的产品的状态。那么,代表t1和t2的同步的单个任务t的化学反应是前面两个化学反应的级联,如下:
[0151]
m1 m2 r1 r2 sn=》is
[0152]
is=》m1 m2 s
n 2

[0153]
任意数量(即,三个或更多)同步任务的化学反应由类似的公式给出:它是任务化学反应的迭代级联。需要注意的是,为简单起见,在关于化学反应级联的讨论中没有表示出操作者。应当理解,该讨论同样适用于涉及操作者的任务,操作者被整合到化学反应中,如先前针对涉及一个或多个操作者的任务的情况所解释的。
[0154]
在s10处提供的输入还可以包括工厂的可管理机器的列表,列表的每一项是工厂的机器并且例如与描述机器的数据相关联。数据可以包括机器的类型和机器可以执行的制造任务的相关联列表。在s10处提供的输入还可以包括工厂的操作者列表,列表中的每一项是操作者并且例如与描述操作者的数据相关联。该数据可以包括操作者可以执行的制造任务的列表和/或操作者可以操作和管理的可管理机器的列表。例如,年轻学徒的知识比有经验的工人少,并且可以使用较少数量的机器。在s10处提供的输入还可以包括工厂的资源/供应品列表,列表的每一项是资源/供应品并且例如与描述资源/供应品的数据相关联。
[0155]
回来参考图1,在提供s10输入之后,该方法基于(即,使用)输入来确定s20工厂的操作模式。该确定还基于(即,还使用)对要制造的产品的一个或多个约束。因此,一个或多个约束可以形成确定s20的参数。该参数可以是固定的(即,工厂总是对要制造的产品有相同的约束)或可以是可设置的,例如由用户。例如,用户可以在确定s20之前提供或设置一个
或多个约束。对要制造的产品的一个或多个约束可以包括以下各项中的一项或多项:
[0156]-要制造的产品的副本数量,
[0157]-制造产品的所有副本的最后期限/最长期限,和/或-产品的规格,例如偏离工厂标准规格的规格(例如,特殊涂装、特殊机械特性、特殊电子特性或特殊物理性能)。
[0158]
一个或多个约束可以采用工作订单的形式,其描述必须制造哪种产品、制造的数量及其到期日。工作订单可以是工厂在执行工作订单时要制造的产品的超图(hypergraph)的形式。超图可以包括均代表产品状态的第一节点和均代表将产品的状态转换为产品的新状态的任务的第二节点。
[0159]
图3示出了在工厂制造制动组装件的先前讨论的示例中用于制造制动组装件的超图的示意图。工作订单包括一定数量的制动组装件,表示为节点e9,以基于制动组装件的初始状态e1、e3,针对某个到期日进行生产。初始状态对应于用于成型转子、制动衬垫和制动卡钳的一定量的金属原材料(例如,铸铁)e1,以及用于成型橡胶零件的一定量的橡胶原材料e3。
[0160]
节点t1代表用于成型转子、制动衬垫和制动卡钳的成型任务。用于这三个机械零件的成型任务虽然因由不同的金属成型机执行而有所不同,但为了简单在图3中表示为单个任务t1。因此,节点t1对应于一组成型任务,这些任务将原始金属e1转变为成型的制动衬垫、制动卡钳和转子。节点e2代表与分离的成型的制动衬垫、成型的制动卡钳和成型的转子相对应的制动组装件的中间状态。
[0161]
节点t2代表转子钻孔任务,其中钻孔机在转子上钻孔(对应于节点e2),得到钻孔的转子。节点e5代表与分离的成型的制动衬垫、成型的制动卡钳和钻孔的成型的转子相对应的制动组装件的中间状态。
[0162]
节点t3代表橡胶注射成型任务,其中橡胶原材料e3被注射成型为橡胶零件以结合制动衬垫。节点e4对应于模制橡胶零件。应当理解,任务t3可以独立于任务t1和t2执行,例如在执行该任务时、在它们的执行之前或执行之后。
[0163]
节点t4对应于在其当前状态e4和e5下对制动组装件的组件进行喷漆的可选任务(如果工作订单包含用于对组件进行喷漆的指令)。节点e6和e8分别对应于(例如,喷漆的)制动衬垫和橡胶零件,以及(例如,喷漆的)卡钳和钻孔的转子。
[0164]
节点t5和t6对应于最终组装任务,其包括两个被同步的组装子任务t5和t6,即t5和t6在这里同时开始。节点t5代表第一组装任务,其中组装制动衬垫和橡胶零件e6。节点t6代表第二组装任务,其中制动衬垫和橡胶零件e6的组装件与卡钳和钻孔转子e8组装在一起。节点e9代表最终的制动组装件。
[0165]
应该理解的是,参考图3讨论的用于制动器组装工厂的任务订单对应于给定的工作订单。另一个工作订单可能会产生不同的任务执行的组织。
[0166]
图4示出了执行由图3的超图形成的订单的制造过程的时刻(instant in time)的示意图,制造过程被表示为化学反应的自主系统,每个化学反应代表任务。车间40起到化学反应器的作用。图4示出了例如成型机m2,其使用金属原材料e1和供应品s1来成型制动卡钳、制动衬垫和转子e2。机器m1和m3对应于当前未使用的机器,因为制造过程处于只有机器m2运作之时。类似地,供应品s2和s6当前未使用。在机器m2在工作的同时当前也未使用的中间状态e2、e7和e5的库存也表示在图4上。
[0167]
仍然参考图1,确定s20通过迭代s250进行,迭代s250在下文中可以称为“确定s20的迭代s250”。每次迭代对应于制造过程的时间间隔,该时间间隔具有开始时间(可以称为确定s20的“时刻(instant)”),并在制造事件发生了时或当制造该产品所需的所有任务已被执行时结束。
[0168]
仍然参考图1,在第一次迭代中,确定s20计算s200给定约束情况下的制造任务的倾向,即确定计算了在给定约束的情况下选择任务来制造产品的频率。换句话说,在每个时刻(即,每次迭代),确定s20检查可能发生的任务列表并计算它们的倾向。然后确定s20根据任务的倾向的降序对任务进行s210排序,即倾向最高的任务倾向于排在第一位,倾向第二高的任务倾向于排在第二位,以此类推。排序s210因此形成任务堆栈。然后确定按照这个顺序访问s220任务,并向它们施加用于执行的机器和资源,即机器和资源首先被施加给具有高倾向的任务。然后确定执行s230任务,即堆栈中的每个任务开始。执行任务s230直到发生制造事件,例如预期/计划事件(例如,任务完成)或意外事件(例如,停电或工人受伤)。如果没有因制造事件的发生而中断/停止,则执行s230可以继续进行直到没有剩余的任务要执行。
[0169]
仍然参考图1,当发生了事件时,停止执行s230并且确定s20执行下一次迭代s250。换言之,确定s20循环回到倾向的计算s210。如图1所示,取决于步骤s240是否发生,下一次迭代s250可以跟在步骤s230或s240之后。然后确定根据重新计算的倾向的降序对任务重新排序s210,根据排序重新访问s220任务以向它们施加机器和资源,并重新执行s230任务直到发生制造事件,其中确定s20循环回到下一次迭代s250,依此类推。换言之,确定s20的每次迭代s250对应于工厂在两次制造事件发生期间的运作,即从第二次迭代(如果有的话)开始的每次迭代代表对在前一次迭代中发生的制造事件的调整。从而,确定s20不断地调整操作模式以适应事件发生,而不管事件是否是预期的。换言之,确定s20遵循包括事件的时间日历/时间表,并且每次确定s20进行到下一个事件时,确定s20循环返回s250并重新执行其步骤,直到日历/时间表中的所有事件已经被满足。然后可以输出s260确定的操作模式。
[0170]
每次迭代s250可以与数据相关联,例如作为先前迭代的结果而产生的,例如由步骤s240产生,在下文中讨论。数据可以包括迭代开始的时间。时间可以代表产品制造过程中的时间点。数据还可以包括在迭代开始时可用的可管理机器,每个机器例如与可用性时隙相关联。数据还可以包括在迭代开始时可用的操作者,每个操作者例如与可用性时隙相关联。数据还可以包括在迭代开始时可用的资源,每个资源(例如,每个组件或每个原始或转换的材料片)例如与可用性时隙和每个时隙的可用数量相关联。数据还可以包括产品的当前状态(例如,如由先前的迭代更新s240且产生的)。换句话说,在发生了事件时,该方法可以更新由事件发生施加的资源、机器和操作者的状态,并且因此可以在继续进行另一倾向计算(即,在一个下一次迭代中)之前更新它们在工厂中的数量。
[0171]
例如,在先前讨论的工厂制造制动组装件的示例中,在任务的执行s230期间,成型机之一引起的火灾可能导致该机器以及可能相邻机器对于接下来的成型任务不可用(例如,为了安全,作为预防措施)。从而,在下一次迭代250,与迭代相关联的数据(例如,作为在步骤s240处执行的更新的结果)可以包括因火灾而变得不可用的机器的列表。由此,生产可以继续进行,但没有这些机器。
[0172]
在一次或多次迭代s250之前,确定s20可以包括调整一个或多个制造任务以适应
对要制造的产品的约束。这可以包括将对象的生产订单(也称为工作订单)转换成集成一个或多个制造任务的代码。例如,对象的生产订单可以包括用于制造对象的一系列制造步骤,并且转换生产订单可以包括向每个制造步骤指派工厂的制造任务,连同指示为执行用于进行制造步骤的任务所需的资源、机器和操作者(如果有)的数据。生产订单的转换还可以包括确定在使用生产订单计算倾向时将考虑的约束(如果有)。
[0173]
仍然参考图1,现在描述和讨论确定s20的迭代s250。应当理解,该讨论同样适用于任何其他迭代s250。
[0174]
仍然参考图1,迭代s250包括对于每个制造任务计算s200制造任务的相应倾向。倾向表示在给定约束和/或一个或多个制造事件的先前发生(即,在先前迭代中的发生)的情况下任务被选择以用于制造产品的频率。倾向是表示频率的值。换句话说,在给定约束和/或先前发生的情况下,倾向表示被选择来制造产品的制造任务的可能性(例如,适格性(eligibility)、流行度或期望)。因此,制造任务的倾向越高,制造任务将被选择的可能性就越大。
[0175]
对于每项制造任务,倾向可能是以下各项中每一项的递增函数:
[0176]-可用于执行任务(即,在执行s230之前和在所有任务的持续时间期间可用)的一个或多个可管理机器的数量(即,执行任务的机器的数量);
[0177]-制造步骤之前产品状态的数量(例如,产品在其当前状态下的副本数量,即,与制造任务对应的制造步骤之前);以及
[0178]-资源数量(即,执行制造步骤所需的)高于执行制造步骤所需资源阈值的指示符。
[0179]
因此,执行任务的机器数量越多,倾向值越大。类似地,制造步骤前产品状态的数量越高,倾向值就越大。该指示符可以是指示符函数,即当资源的数量高于执行制造步骤所需的资源阈值时等于1否则为0的函数。由此,如果没有足够的资源,则倾向为零并且无法执行任务。
[0180]
例如,在之前已经讨论的制动组装件工厂的情况下:
[0181]-对于每个金属成型任务,倾向是执行任务的成型机数量、成型前可用的原材料数量、以及原材料数量高于阈值的指示符(即,指示有足够量的原材料来执行成型的指示符)的递增函数;
[0182]-对于注塑成型任务,倾向是执行该任务的成型机数量、成型前可用橡胶量以及橡胶量高于阈值的指示符(即,有足够量的橡胶进行成型的指示符)的递增函数;以及
[0183]-对于最终组装任务,倾向是执行任务的机器数量、组装前制动组装件的每个组件的数量以及每个组件的数量高于阈值的指示符(即,指示有足够量的组件用于执行组装的指示符,例如,如果没有转子,则无法开始组装)的递增函数。
[0184]
对于一个或多个(例如,所有)制造任务中的每个相应制造任务(每个任务涉及一个或多个操作者),该函数也可以是一个或多个可管理的机器的可用于执行该任务(即,在执行s230之前并且在整个任务的持续时间期间可用)的操作者数量的递增函数。因此,操作执行任务的机器的操作者数量越多,该任务的倾向值就越大。
[0185]
对于一个或多个(例如,所有)制造任务中的每个相应制造任务,该函数也可以是奖励对至少一个约束的遵守的项(即,当至少一个约束得到遵守时倾向于具有高值的项)的递增函数。由此,如果制造任务的执行遵守至少一个约束,即与至少一个约束兼容,则制造
任务的倾向值增加。
[0186]
对于一个或多个制造任务(例如,对于每个制造任务或其中的至少一部分),该函数还可以是用于促进(例如,提高、优先化、提升、偏好或鼓励)工厂的缓慢和/或经济运行的参数的递增函数。换言之,对于给定的任务,当该任务对应于工厂的缓慢和/或经济操作模式时,该参数可以被设置为具有高值。相反,对于给定的任务,当任务对应于工厂的快速和/或高成本操作模式时,可以将参数设置为具有低值。“慢”是指工厂的运行偏好慢速机器。“经济”是指工厂的运行偏好经济的机器,例如资源方面经济的机器。该参数可以由用户设置(例如,对于每个任务,用户可以选择倾向是否必须包含该参数并且可以设置该参数的值)。此参数值高的任务将比此参数值低的任务具有更高的倾向,因此将相对于这些其他任务被提升,除非该参数的小值被倾向中的另一个因素补偿(例如,大量可用的操作者)。例如,用慢速和/或经济机器执行的任务可能具有大的参数值,以便优先处理(即,频繁选择)该任务,以偏好工厂的慢速和/或经济操作模式。
[0187]
对于每个任务,函数可以是其变量的乘积,即以下各项的乘积:一个或多个可管理机器的数量,制造步骤前状态产品的数量,资源数量高于执行制造步骤所需资源的阈值的指示符,(可选地)一个或多个可管理机器的操作者数量,(可选地)奖励遵守至少一个约束的项,以及(可选地)用于促进工厂的慢速和/或经济运行的参数。
[0188]
例如,当演化规律是如前所述的以下类型的化学反应时:
[0189]
m r sn=》is
[0190]
is=》m s
n 1
[0191]
制造任务的相应倾向由以下公式给出:
[0192]
p=[m][sn]{[r]≥c}[rp]
[0193]
其中p是倾向,[m]是一个或多个可管理(即,可用)机器的数量,[sn]是制造步骤之前状态产品的数量,{[r]≥c}是资源数量高于执行制造步骤所需资源阈值的指示符,c为阈值,并且[rp]是奖励对至少一个约束的遵守的项(当公式中没有奖励对约束的遵守的项时,[rp]设置为等于1)。
[0194]
如果制造任务由操作一个或多个可管理机器的一名或多名操作者执行(即,该任务不是自动化的),并且化学反应是如前所述的以下类型的:
[0195]
m o r sn=》is
[0196]
is=》m o s
n 1
[0197]
则制造任务的相应倾向由以下公式给出:
[0198]
p=[m][o][sn]{[r]≥c}[rp]
[0199]
其中p是倾向,[m]是一个或多个可管理机器的数量,[sn]是制造步骤之前状态产品的数量,{[r]≥c}是资源数量高于执行制造步骤所需的资源阈值的指示符,c是阈值,[o]是操作者的数量,并且[rp]是奖励对至少一个约束的遵守的项(当公式中没有奖励对约束的遵守的项时,[rp]设置为等于1)。
[0200]
对于一个或多个制造任务,如上所述,倾向(即,由上述公式之一给出的)可以乘以用于促进工厂的慢速和/或经济运行的参数k(在倾向是该参数的递增函数的情况下)。换句话说,该参数k可以是一个或多个任务(例如,其中的一些或全部)的倾向的变量,使得针对不同的任务向k赋予不同的值允许相对于彼此修改它们的倾向值。这可以例如允许促进工
厂的慢速和/或经济运行,即通过将具有高值的参数k归于慢速和/或经济的任务。该参数k可以由用户设置(例如,对于每个任务,用户可以选择是否倾向必须包含该参数k并且可以设置k的值)。
[0201]
在示例中,对于某个制造任务或所有制造任务,[rp]可以由公式[rp]=[rp1][rp2][rp3]...[rpn]给出,其中n是要遵守的约束数量,并且其中每个[rpi]是奖励对约束之一的遵守的项。n可能等于一或可能大于一。
[0202]
在示例中,对于某个制造任务或所有制造任务,[rp]或[rpi]之一,可由公式[rp]=max-[s
n 1
]给出,其中[s
n 1
]是制造任务的执行后产品状态的数量(即,[s
n 1
]是执行制造任务后产品的状态的副本的数量),并且其中max是该状态s
n 1
下产品的最大允许副本数。用于[rp]的该公式允许限制在制造任务执行期间处于该状态s
n 1
的产品的未完成副本的数量。用于限制在制造任务执行期间处于该状态s
n 1
的产品的未完成副本数量的替代公式是公式[rp]=1/(c1 c2[s
n 1
]),其中c1和c2是常量(例如,由用户定义)。用于限制在制造任务的执行期间处于状态s
n 1
的产品的未完成副本数量的又一个替代公式是公式[rp]=1/[s
n 1
]。
[0203]
例如,在制动器组装工厂的先前讨论的示例的情况下,最终组装任务可以包括这样的约束,以用于在组装任务的执行期间限制最终制动组装件的未完成副本的数量。因此,组装任务的倾向可以包括由先前讨论的三个公式之一给出的项[rp]。
[0204]
在示例中,对于某个制造任务或所有制造任务,[rp]或[rpi]中的一个可以由公式给出,其中是常数(例如,由用户设置),并且其中λ是产品的数量的订单的临界系数,λ为方程t=λt0 (1-λ)t1的解,在(0,1]上归一化,其中t是完成订单的剩余时间,t0是在将工厂的所有资源、机器和操作者分配给订单的同时完成订单的参考时间,并且t1是在仅向订单分配工厂的资源、机器和操作者的平均份额的同时完成订单的参考时间。[rp
date
]充当调节器(就像调节分子)以在快速生产模式和经济的生产模式之间切换。因此,所有与关键订单相关的制造任务都有其上升的倾向,从而相对于分配给非紧急/非关键订单的任务而优先处理它们的执行。这将有利于遵守紧急订单的截止日期。t0和t1可以预先计算,例如在方法的初始阶段或确定之前,通过执行方法的校准运行。可以大于1,例如大于或等于10,和/或可以通过机器学习预先确定,例如在方法的初始阶段。[rp
date
]的替代公式是等于λ除以其他任务的所有临界系数的总和(在其他任务具有与其他订单相对应的不同临界系数的情况下)。
[0205]
在示例中,对于某个制造任务或所有制造任务,[rp]或[rpi]中的一个,也可能是微分方程的解,其中t0是一天中最后可能启动任务的时间,其中t是当前时间,并且其中k1和k2是常数(例如,由用户设置)。k2可能大于k1,使得任务不能在截止日期t0后执行太长时间。k2与k1之间的比率可能取决于工厂及其设置。例如,这些参数可以通过适应工厂上下文和以制造应用为目标的上下文的学习方法来设置。例如,启动任务越重要,比率就必须越大。在示例中,该比率大于2。这允许考虑操作者的时间表,包括对于将不被中断的任务考虑他们的休假时间(例如,工作日的结束、周末或休息日)。在这种情况下,[o]=[o
p
],不仅在当前时间t可用而且将在任务结束时也可用的操作者的数量。在发生了诸如工作日结束、周末或休息日之类的制造事件时,所考虑的操作者可
以从确定s20中撤回,即它们不再用于下一次迭代(例如,因为它们的时隙不包含迭代开始的时间),并在其返回时被放回,即在下一次迭代中使用(例如,因为它们的时隙包括迭代开始的时间)。
[0206]
回来参考图1,倾向的计算s200对于每个相应的任务产生一组(例如,列表)倾向。确定s20的迭代s250然后根据一个或多个制造任务相应的倾向的降序来将一个或多个制造任务排序s210。换句话说,排序s210通过将排名归于制造任务来在制造任务内建立顺序,使得具有最大倾向的制造任务(例如,一个制造任务)倾向于具有第一排名,具有第二大倾向的制造任务(例如,一个制造任务)倾向于具有第二排名,等等,具有最小倾向的制造任务(例如,一个制造任务)倾向于具有最后的排名。排名代表制造任务将开始的时间:第一排名代表将很快开始的任务,随后是代表较晚开始的任务的排名。
[0207]
排序s210可以包括将通过等于倾向的参数的指数规律给出的排名归于每个制造任务。换句话说,任务的排名可以由具有任务倾向作为参数的指数规律给出。因此,具有大倾向的任务具有第一排名,而具有小倾向的任务具有最后的排名。排序s210可以包括计算每个排名并且然后分配它们。
[0208]
例如,在前面讨论的制动器组装工厂的示例中,只要还没有执行成型任务,就无法开始需要成型的橡胶零件和成型的卡钳、钻孔转子和衬垫的最终组装任务,因此最终组装任务将有小的倾向(例如,等于零)。因此,此任务将排在最后。相反,成型任务将具有大的倾向,并且因此具有第一排名,因为它们必须优先开始。在下一次迭代中,一旦有足够的成型的转子,则钻孔任务可能具有最大的倾向,并且因此具有第一排名,因为现在向对成型转子进行钻孔给予优先级。在下一次迭代中,一旦有足够多的钻孔转子、成型的橡胶零件、成型的卡钳和衬垫,则组装任务可能具有最大的倾向,并且因此具有第一排名,因为现在向将零件组装成制动组装件给予优先级。
[0209]
指数规律可以进一步取决于随机生成的数字,例如该数字对于每个任务可能相同或者可能对于不同任务不同。这允许捕捉这样的事实,即工厂的运行不一定是确定性的,并且工厂内可能会发生统计变化。因此指数规律不一定完全取决于倾向:随机统计变化存在,并且随机生成的数字代表它们。排序s210可以包括生成数字,例如通过为所有任务生成(例如,根据统一随机规律)相同的随机数或通过为每个任务生成(例如,根据统一随机规律)相应的随机数,并且然后为每个任务计算指数规律,从而计算每个任务的相应排名。对于每个制造任务,任务的排名可由公式(指数规律)给出:
[0210][0211]
其中τ是时间,u是随机生成的数字,并且p是任务的倾向。排序包括对于每个制造任务,将任务的排名与每个时间τ相关联,其中最小时间τ与第一排名相关联,第二最小时间τ与第二排名相关联,依此类推,直到最大时间τ与最后的排名相关联。
[0212]
回来参考图1,确定s20的迭代s250然后包括根据排序访问s220一个或多个制造任务。换句话说,首先访问具有第一(即,最低)排名的任务,然后访问具有第二排名的任务,依此类推,直到所有任务都被访问。对于每个访问过的任务,迭代s250然后向任务施加用于执行任务的一个或多个可管理机器和资源,以及可选的一个或多个操作者(在任务需要操作者执行的情况下)。换句话说,迭代s250向已排序的任务(按照它们的排名的升序排列)提供
了代表任务的演化规律(例如,化学反应)的输入。
[0213]
仍然参考图1,确定s20的迭代s250然后执行s230一个或多个任务。每个任务都有其相应的排名,其代表任务开始的时间。换句话说,执行s230遵循时间线,其可以实现为时间循环,并且在对应于任务的开始时间的每个时间处,执行s230执行任务。时间线可以被包括在时间日历中,然后是如前所述的确定s20,例如对于每次迭代,执行s230的时间线是确定s20的时间日历的一部分。“执行任务”是指执行运行任务的演化规律,从而将演化规律的输入(即,机器、资源、操作者和产品的当前状态,如前所述)转化为它的输出(即,机器、操作者和产品的下一个状态,如前所述)。多个任务可以一起执行(例如,作为组或批次,例如同时生产100个对象),同时执行s230遵循时间线,并且在执行s230遵循时间线的同时,任务可以开始并且其他任务可以结束。在任务执行期间,该任务中所涉及的机器资源或操作者不可用于其他任务。执行s230遵循时间线(例如,时间循环被执行)直到与时间线中的点(例如,时间循环的停止条件)相关联的一个或多个制造事件的发生。此时,执行s230停止遵循时间线(例如,存在时间循环),并且确定s20将进入下一次迭代s250。因此,执行s230不一定执行所有制造任务。执行s230可以例如仅执行所有制造任务的一部分,例如并且然后被意外事件的发生打断。可替代地,执行s230可以执行所有的制造任务。
[0214]
例如,在前面讨论过的制动器组装工厂的情况下,所有的成型任务可以一起执行,如前面参考图3所特别讨论的,即在执行s230的同一运行中。足够量的成型的橡胶零件、转子、卡钳和/或衬垫的生产可以形成停止执行s230的事件发生。由成型机之一引起的的火灾(其引起安全问题)也可能是此类事件之一。
[0215]
仍然参考图1,在进行下一次迭代s250之前,确定s20的迭代s250可以包括更新s240关于要制造的产品的数据。更新关于要制造的产品的数据可以包括更新产品的每个状态。具体地,在制造任务的执行s230之前,产品对于每个制造任务都处于相对于制造任务的当前状态。例如,当前状态可能在于产品的一个或多个(例如,未完成的)组件或产品本身(但未完成)。然后执行s230使制造任务将产品的当前状态转换为产品的下一状态。例如,产品的组件可以被组装和/或转换(例如,完成),从而构成下一个状态,或者产品本身可以被完成,从而构成产品的下一个状态,其为下一次迭代(如果有的话)的当前状态。更新s240因此可以包括在与下一次迭代s250(如果有的话)相关联的数据中,在适当的情况下将产品的当前状态改变为它们的接下来的状态。
[0216]
例如,在先前讨论的制动器组装工厂的情况下,在停止执行s230的事件发生是生产足够量的成型的橡胶零件、转子、卡钳和/或衬垫的情况下,更新s240包括更新成型的橡胶零件、转子、卡钳和/或衬垫的数量。
[0217]
除了更新关于要制造的产品的数据之外,更新s240还可以包括更新与下一次迭代相关联的数据。更新可以例如包括:
[0218]-更新迭代开始的时间,例如通过使该时间等于执行s230结束的时间;
[0219]-更新在下一次迭代开始时可用的可管理机器,例如,如果制造事件的发生已经导致一个或多个机器不可用。例如,在先前讨论的制动器组装工厂的情况下,如果事件发生是机器引起火灾,则更新包括通过丢弃(例如,标记为不可用)因火灾而变得不可用的机器来更新可用机器;
[0220]-更新迭代开始时可用的操作者,例如,如果制造事件的发生已经导致一个或多个
操作者不可用;和/或
[0221]-更新在迭代开始时可用的资源,例如通过考虑执行s230所消耗的资源和/或由于制造事件的发生而消耗或浪费的资源和/或由于制造事件的发生(例如,由于交付)而导致的资源增加。
[0222]
一旦在确定的时间日历中不再发生制造事件,就可以停止迭代s250。
[0223]
方法s20可被执行一次,或者可替代地,可以被执行多次,每次包括其一次或多次迭代s250。该方法的每次执行可以对应于单个产品的制造,例如服从自己的生产顺序。因此,每次执行对应于给定的相同产品的生产,例如多个副本,多个执行对应于例如不同产品的连续生产。可替代地,该方法可以运行一次,但仍然对应于几个不同产品的生产,例如每个都生产多个副本。在这种情况下,方法中的“要制造的产品”是指多个产品。换句话说,该方法的一次执行(也称为“运行”)可以对应于相同产品的一个或多个副本的制造或者对应于多个不同产品的制造,每个都生产一个或多个副本。在任何情况下,该方法的执行对应于要满足特定数量的订单的时间范围,这通常导致制造多个产品或同一产品的多个副本。
[0224]
还提供了一种工厂,包括至少一个可管理机器,该机器可通过根据该方法确定的工厂的操作模式来操作。至少一台可管理机器中的每台机器因此可以由执行操作模式的工厂的计算机系统远距离操作,或者可替代地,由执行操作模式的工人和雇员远距离操作(例如,通过遵循其中的指令、其中的指派和其中的时间表)。工厂可以是自动化工厂,例如生产链。
[0225]
该方法是计算机实现的。这意味着该方法的步骤(或实质上所有步骤)由至少一台计算机或任何类似系统执行。因此,该方法的步骤由计算机执行,可能是全自动地,或者是半自动地。在示例中,该方法的至少一些步骤的触发可以通过用户-计算机交互来执行。所需的用户计算机交互水平可能取决于预见的自动化水平,并与实现用户愿望的需要保持平衡。在示例中,该水平可以是用户定义的和/或预定义的。
[0226]
方法的计算机实施方式的典型示例是使用适用于此目的的系统执行该方法。该系统可以包括耦合到存储器和图形用户界面(gui)的处理器,该存储器上记录有计算机程序,该计算机程序包括用于执行该方法的指令。存储器还可以存储数据库。该存储器是适合于这种存储的任何硬件,可能包括几个物理上不同的部分(例如,一个用于程序,而可能一个用于数据库)。
[0227]
图5示出了系统的示例,其中该系统是客户端计算机系统,例如用户的工作站。
[0228]
该示例的客户计算机包括连接至内部通信总线1000的中央处理单元(cpu)1010、也连接至总线的随机存取存储器(ram)1070。客户端计算机还被提供有图形处理单元(gpu)1110,其与连接到总线的视频随机存取存储器1100相关联。视频ram 1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如,硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如eprom,eeprom和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;cd-rom盘1040。上述任何内容可以通过专门设计的asic(专用集成电路)进行补充或合并。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户将光标选择性地定位在显示器1080上的任何期望位置。此外,光标控制设备允许用
户选择各种命令并输入控制信号。光标控制设备包括多个信号生成设备,用于将控制信号输入到系统。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替代地或附加地,客户计算机系统可以包括敏感垫和/或敏感屏幕。
[0229]
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行方法的装置。该程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或它们的组合来实现。该程序可以被实现为有形地体现在机器可读存储设备中以由可编程处理器执行的装置,例如产品。方法步骤可以通过可编程处理器执行指令程序以通过对输入数据进行操作并生成输出来执行该方法的功能来执行。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。如果需要,可以以高级过程或面向对象的编程语言或汇编或机器语言来实现应用程序。在任何情况下,该语言都可以是编译语言或解释语言。该程序可以是完整的安装程序或更新程序。在任何情况下,程序在系统上的应用都会导致执行方法的指令。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献