算法
介绍一些java算法的内容
a816120
这个作者很懒,什么都没留下…
展开
-
关于OptaPlanner的使用(三)——运行代码案例
打开下载的Optaplanner的示例的example的source文件件,可以看到这是一个maven的java项目,将这个项目导入到IDEA中,等待依赖jar包下载完成,就可以运行了。 项目结构大概如下:java文件下写的是对于各种情况的规划问题的代码,resource中写的是一些计算规则,比如使用什么算法计算,目标是得到什么结果,什么时候计算结束等。运行app文件下的OptaPlannerExamplesApp.java的main方法,就会打开之前的示例界面。和执行runExamples.bat原创 2020-08-28 15:13:30 · 1719 阅读 · 2 评论 -
关于OptaPlanner的使用(一)——简介
最近项目中有个要给司机排班的需求,自己写了一个可用的算法。看到网上介绍说有这个可以实现统筹规划的规则引擎OptaPlanner,学习一下,看能否满足需求进而可以替换掉自己写的算法。可以用的地方就是需要一些排班,调度等方面的时候,当情况比较复杂,使用人力无法轻易得到一个相对最优的计划时,可以使用计算机的高处理速度,在当前的资源条件下,得到一个细致的执行命令,实现相对最优的资源配置。先来说一下业务规则的种类:一种是硬规则,另一种是软规则。硬规则就是一些必定不能违反的规则,例如一个产品所使用的原料必然是指定范原创 2020-08-27 17:35:59 · 2805 阅读 · 0 评论 -
关于OptaPlanner的使用(二)——运行案例
以案例中的Cloud Balancing为例,这是一个给任务分配计算机的规划任务。我们可以看到上面的Unassigned的是未被分配的任务,每个任务有CPU,内存,网络带宽三个参数,计算机也有这三个参数还有一个使用成本(这个成本是怎么算出来的没找到。。。。)。这个例子的目标就是把任务分配给计算机,硬规则是任务所占用的CPU,内存等参数不能超过计算机对应的参数,而且这个数值是累加的,如果一个计算机里有两个任务,计算机的参数的剩余量要减去两个任务参数的和才行。软规则是要使得计算机的使用成本尽量的小。以4原创 2020-08-28 10:31:49 · 1026 阅读 · 0 评论