当前位置: 首页 > 网络应用技术

optaplanner -run示例

时间:2023-03-07 17:11:51 网络应用技术

  在上述文章的长篇小说理论之后,在我们开始解释Optaplanner的基本概念和使用之前,我们可以首先运行它们提供的示例,因此让每个人都知道它是如何工作的。optaplanner的优势不仅是提供详细且丰富的文档,但也为各种应用程序场景提供了丰富的示例。它的文档使用几个简单而经典的示例来说明各种功能特征和深层概念,例如求解器,阶段和移动等,让我们首先运行这些示例,首先查看整体情况。在下一篇文章中,我们将介绍该示例的源代码。需要什么元素及其工作方式。

  1.下载:

  首先,您必须下载示例。访问Optaplanner的官方网站时,您可以看到一个绿色按钮(请参阅下图)。单击它下载它。它的版本的更新非常快,我们根据7.6.0final进行解释。

  下载的压缩软件包“ optaplanner-distribution-7.6.0.final.zip”包含optaplanner的源代码,各种软件包(引擎自己的核心软件包及其依赖关系软件包),说明文件和示例及其源代码。两个版本,一个基于基本摇摆,即Java的Windows程序;另一个是基于WAR软件包提供的Web,您需要部署Tomcat和其他应用程序服务器才能运行。我们专注于摇摆版本,因为它不需要部署应用程序服务器。如果将来每个人都需要它,我可以详细编写另一篇文章,以详细部署示例的Web版本。打开压缩软件包。内部文件夹的结构如下:

  因为除了压缩软件包中的源代码外,它还提供了一个编译的软件包。只要您在系统中安装Java环境,就可以运行它。首先,查看它。PS:Java超过1.8。

  您将看到一个袋子文件夹,一个源文件夹(源),Windows批处理处理命令文件(Runxamples.bat)和Linux操作示例(Runexamples.sh)。因为我是在Windows环境中运行的,因此二进制和runexamples.bat可以被解压缩并放置在同一文件夹中。示例子文件夹中目录文件夹中的目录结构如下图所示。

  如果您不熟悉Windows下的CMD,请按照以下步骤操作。完成后,您可以看到其示例的真实容量。示例程序基于秋千。从理论上讲,它可以通过内部的批处理文件运行。实际上,有些命令运行JAR软件包,但是它将具有更多功能,例如检查当前的系统JRE等。但是,中间有一个小情节。当我运行7.6.0示例时,它报告了SLF4J找不到的例外。它应该是一个徽标组件。相关的提示,否则我必须联系他们的项目团队的才能。我使用7.5.50最终的示例正常运行。

  右键通过鼠标按钮单击CMD

  运行入站示例批处理处理文件

  有多达18个示例,最简单的n Queen问题,即复杂的车辆路线计划问题。

  7.5.0版提供了18个示例,其中包括几乎所有Optaplanner计划引擎的特征和应用模式。但实际上,其GitHub中提供了更多示例。有兴趣的学生可以注意Github上Optaplanner项目的领导者Geoffrey de Smit。他现在是Optaplanner项目的负责人,也是Optaplanner的作者。他十多年前发展了。在Optaplanner之后,他在过去几年为JBOSS开源社区做出了贡献,并让该项目的负责人。当我使用Optaplanner做项目项目时,他们的讨论小组问他一些问题。他非常友善,耐心等待,并回答了我很多问题。

  我们选择一个更经典的云平衡示例来运行并看到它。

  让我们先展示这个示例。此示例是在云中模拟过程管理(或过程调度或任务计划),即处理到不同计算资源(即计算机)的处理过程,以演示Optaplanner Plan Engine,以便在计算机资源中分配计算机资源大多数成本 - 确保每个过程都满足操作要求的方法。

  该示例中有两个主要的物理概念(过程,正式文档称为该过程,可以理解为我们的程序或任务)和计算机(即我们理解的计算机和服务器)。EAVEADPROCESS具有三个要求:CPU速度,内存大小和网络带宽。相应地,每台计算机还具有固定的参数,表明可以提供CPU速度,内存大小和带宽CPU;另一个属性是成本。也就是说,一旦使用了这台计算机,就需要维护成本。此示例的目的是提供一些程序和某些计算机,Optaplanner计划引擎比较这些实体的比较操作,并且所有程序都是分配给指定公司。该分配方案有两个要求:

  1.严格要求:按进程分配的计算机必须满足CPU,内存和带宽的三个主要要求:当将多个进程分配到同一台计算机时,其CPU,内存和带宽资源占据了计算机只有2G内存,如果已经存在1G需求为1G的过程,则通过分配1G.ON的分配来分配该过程,该过程可以稍后分配给该过程,并且其内存要求必须小于1G,因为该计算机只有1G内存,而CPU和带宽是相同的分布规则。

  2.软件:一旦分配了任何计算机,就意味着计算机被占用,并且需要计算该计算机的成本。OptaplannerPlanning Engine需要找到解决方案,并在满足重点要求的前提下1,所有被占用计算机的成本尽可能小(为什么不说最小?因为这是NPC问题可能无法找到最小的成本,也就是说,可能无法找到最佳的解决方案。有关详细信息,请参阅本系列文章中的规则和NP章节,NPC问题)。

  输入此示例后,我选择了9个进程将它们分配在3台计算机上。Optaplanner的示例程序提供了这些示例的这些示例,只要您选择,它就更加亲密,但是在这样做的过程中,生成和处理这些数据是系统的许多比例。这是正确的。

  过程和计算机信息

  每个过程计算资源的要求

  单击顶部的求解按钮,引擎开始工作。它将不断尝试不同的组合方案(这是一个非常复杂的过程,涉及各种搜索算法禁忌,模拟退火等),不仅找到满足预制的CPU,内存和内存以及内存和内存。带宽以及所有使用的所有计算机,成本都尽可能小。跑步一段时间后是九个进程的情况。通过得分,获得的方案是通过得分实现的。关于分数,您可以检查有关Optaplanner计划引擎得分的分数文章。

  结果由硬得分(反映资源敏感)和软得分(反射成本)组成。

  好吧,到目前为止,我们已经成功举办了榜样。您也可以尝试其他示例。每个示例的背景可以在Optaplanner官方网站的示例的一章中查看。在我的后面文章中,我还将找到几个代表性的翻译示例。

  在下一篇文章中,我们必须使用源代码的此示例在Eclipse中生成项目,以便每个人都可以了解有关Optaplanner的实现的更多信息。

  谢谢。

  本系列文章不时从公共帐户序列化,请注意公共帐户(搜索“使APS成为可能”)

  如果您需要了解有关OptaPlanner应用程序的更多信息,则可以添加微信(13631823503)或QQ(12977379)进行实时通信。或提出讨论组方法。(讨论组属于Google电子邮件列表。国内电子邮件列表。国内网络可能很难访问,并且需要自行解决)