并行解决方案生成的制作方法_2

文档序号:9816367阅读:来源:国知局
。只能在尝试尽可能多的组合后才能找到组合不同种类的好的解决方案要素106的最佳方式,所描述的示例性实施例能够做到,并且使用尽可能多的计算机性能。最终的结果是,或者得到一个解决方案108,该解决方案具有适合于其目标功能的最佳值,或者然后得到根据至少一个指标(indicator)测量为最佳的最佳解决方案108的集合,然后用户为某目的选择一个最合适的解决方案。
[0022]如在图1中所见,具有至少两个处理器110、116,换句话说,可能具有更多个处理器:如在图1中所示,可能具有N个处理器110、116、122,其中N是大于2的整数。因此,解决方案程序114、120、126可以在多于两个的处理器110、116、122(多达N个处理器110、116、122)上并行运行。要素程序112、118、124也在至少两个处理器110、116、122上运行,S卩,其可以在更多个处理器(多达N个处理器110、116、122)上运行。
[0023]在一个示例性实施例中,第一处理器110包括微处理器、处理器内核或图形处理器,并且第二处理器116包括微处理器、处理器内核或图形处理器。
[0024]在图2的示例性实施例中,处理器110、116、122实施为微处理器202、204、206,从而要素程序112、118、124和解决方案程序114、120、126可在多达N个微处理器202、204、206上并行运行。
[0025]在图3的示例性实施例中,处理器110、116、122实施为多核处理器300的处理器内核302、304、306,从而要素程序112、118、124和解决方案程序114、120、126可在多达N个处理器内核302、304、306上并行运行。
[0026]在根据图4的示例性实施例中,处理器110、116实施为中央处理器(CPU)400和图形处理单元(GPU)402,从而要素程序112、118和解决方案程序114、120二者可以在CPU 400和GPU 402上并行运行。在一个示例性实施例中,主处理器400实施为微处理器。图形处理单元402可通过使用单独的显卡来实施。显卡可包括大量的图形处理单元402,例如,多达三千个图形处理单元。另外,显卡可具有其自身的存储器。因为图形处理单元420本身是强大的而且显卡内的存储器操作是快速的,所以在显卡的存储器中可以存储解决方案要素106的副本,但在主处理器400的方向上的数据传送是相对缓慢的。
[0027]在图2、3和4中所描述的这些示例性实施例的基础上,可以形成各种混合组合。
[0028]在图5的示例性实施例中,处理器110、116、122、500实施为多核处理器300的处理器内核302、304、306和图形处理单元302,从而要素程序112、118、124、502和解决方案程序114、120、126、504可在多达肝1个处理器110、116、122、500上并行运行。
[0029]一般地,处理器110、116、122可实施为微处理器、图形处理单元、多核处理器的处理器内核、并行处理器的处理器,但也可以通过另外地或者替换地使用下述中的至少一个来实施:标准集成电路、特定应用的集成电路(AS IC )、片上系统(SoC )、特定应用的标准产品(ASSP)、数字信号处理器或专用计算机芯片。
[0030]在一个示例性实施例中,处理器110、116、122是电子数字计算机100的一部分。计算机100可包括随机存取存储器(RAM)、中央处理器(CPU)和系统时钟。中央处理器可包括多个寄存器、算术逻辑单元(ALU)和控制单元。控制单元由已经从随机存取存储器传送到中央处理器的一系列程序指令104控制。中央处理器可包括多个用于基本运算(basicoperat1ns)的微指令。微指令的实施可根据中央处理器的设计而变化。程序指令104可以用编程语言编码,该编程语言可以是高级编程语言(如C语言或Java语言)或者低级编程语言(如机器语言或汇编语言)。计算机100还可以具有操作系统,该操作系统可以向通过程序指令编写的计算机程序104提供系统服务。参考上面的描述,CPU可以是微处理器或多核处理器,并且计算机100还可以包括图形处理单元。存储器102可以是随机存取存储器,而计算机100可以具有非易失性存储器,计算机程序代码104存储在该非易失性存储器中。在最低的水平上,可以按照比特(或量子比特,如果计算机是量子计算机)来处理信息。
[0031]如在图1中所示,计算机程序代码I3 2可以存储在分配媒介(分布介质,distribut1n medium)134上,该计算机程序代码能够从该分配媒介传递到计算机100,从而计算机程序代码104当在至少两个处理器110、116、122上运行时形成解决方案要素106,并且当在至少两个处理器110、116、122上运行时形成解决方案108。在一个示例性实施例中,计算机程序代码132、104可以是源代码的格式、目标代码格式、可执行的格式或是一个过渡中的格式。分配媒介134可至少包括如下:任何允许程序分布的实体、存储器装置、只读存储器、通信信号、非临时性计算机可读存储装置。
[0032]图6、7和8示出了解决方案要素106和解决方案108的示例性实施例。
[0033]图6具有点600、602、604、606、608、610、612、614、616,解决方案要素106由这些点生成。解决方案要素Kl 620包括点600、602和604。解决方案要素K2 622包括点606、608和610。解决方案要素K3 624包括点614和616。解决方案要素K4 626包括点606和612。如图6所示,一个点可以属于若干个解决方案要素:在我们的实例中,点606同时属于解决方案要素K2 622和解决方案要素K4 626。图6还示出了,不是所有的点需要属于任何解决方案要素:在我们的实例中,点618没有放置在任何解决方案要素中(到该阶段为止)。
[0034]在一个示例性实施例中,解决方案程序114、120、126进一步生成解决方案108,以便在每个处理器110、116、122上独立地生成解决方案108。根据图7,可以具有多个解决方案108:在我们的实例中,在处理器I 110中生成的解决方案700和在处理器2 116中生成的解决方案702。在这些解决方案中,数据处理设备100可以通过使用质量标准来自动地选择一个解决方案700/702。可替换地,用户选择数据处理设备100可支持的解决方案700/702中的一个,以便使数据处理设备100根据至少一个指标将解决方案700、702上的信息呈现给用户。
[0035]在图8中的示例性实施例中,要素程序112、118、124进一步将点600、602、604、606、608、610、612、614、616、618划分成至少两个处理器专用的子集800、810,并且为每个处理器110、116、122分别生成解决方案要素802、804、812、814,而且解决方案程序114、120、126进一步以这样的方式生成解决方案108,即,通过使用处理器专用的解决方案要素802、804、812、814,在至少两个处理器110、116、122中的每一个上,生成解决方案820、822。然后,数据处理设备100将所生成的解决方案820、822组合成最终的解决方案108。
[0036]所描述的其中使用点600-618来生成解决方案要素620、622、624、802、804、812、814(解决方案108、700、702、820、822进一步由这些解决方案要素生成)的方法可以应用于物流中的路径优化。在路径优化中建立的解决方案要素可以是单独的路径和/或其部分。
[0037]第二示例性实施例涉及规划工作班次。多种可能的应用中的第三示例性实施例涉及生产的规划,换句话说,针对各种资源的工作的分布和分配。这可以通过主要使用与用于路径优化的那些原则相同的原则来完成。
[0038]下面仔细观察图9A、9B、9C、9D、9E、9F、9G、9H、91、9J和9K,其示
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1