模拟芯片版图设计培训

OptaPlanner培训课程

5 (34人评价)
  • 精品
  • 笔记:(20)

  • 学员:(348)

  • 浏览:(105092)

  • 加入课程

课程简介

 

联系方式
 
 

教学优势

  曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。

  本课程,秉承20年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。

 

课程列表

  • 课程简介:

  • 课程目标:

    课程大纲:

    OptaPlanner培训

    1理论基础
    1.1运筹学规划与APS
    1.1.1运筹优化的原理及其在现实生活中的应用;
    1.1.2运筹优化中的数学规划原理;
    1.1.3及其与APS技术的关系。
    1.2规划问题NP-Hard/NP-Complete问题
    非多项式时间可解问题的由来,及其在数学领域的意义,包括:
    1.2.1问题规模的来由;
    1.2.2何谓NP-Hard问题;
    1.2.3对NP-Hard问题的常见解法。
    1.3规划问题及问题规模
    分析规划问题的构成及其问题规划(搜索空间)的大小
    1.4求解器的原理及发展现状
    包括:
    1.4.1何谓求解器,及其包含的启动发式算法;
    1.4.2国内外,开源、商用求解器的现状与选用;
    1.4.3介绍世界若干最著名求解器的全面优缺点,包括OptaPlanner, Google OR-Tools, IBM CPLEX等
    2OptaPlanner相关概念与应用基础
    讲解OptaPlanner的一些必须掌握的概念及应用方法。
    2.1OptaPlanner的寻优原理
    介绍在规划运算过程中,OptaPlanner如何以评分作为基础,结合各种启发式算法进行最优方案寻找.
    2.2约束及其分类
    约束在求解器中的意义,从正负约束、软硬约束等角度对约束进行分类分析。
    2.3评分及评分规则
    评分与约束的关系,不同层次的分数对解的影响。
    2.4评分在引擎中的实现(Java Scoring, Drools Scoring, ConstraintStream)
    讲解OptaPlanner中可用的三种评分实现方式,及各种场景下的评分设计建议。
    2.5规划问题的解(Planning problem and solution)
    定义规则问题的可能解、可行解、相对最优解及绝对最优解
    2.6Problem Fact,Planning Entity与Planning Variable
    讲解使用OptaPlanner进行建模时的基本概念,及其在规划问题中,各自代表的意义。
    2.7Planning Variable的类型(genuine & shadow)
    讲解Planning Variable的类型、其意义及其在不同的模式中相互作用的机制。
    2.8配置文件结构及内容(Solver Configuration)
    讲解Solver的配置文件中,各个项目的意义及设置方法。
    2.9Solver的使用
    讲解OptaPlanner的入口对象Solver的构造过程。
    2.9.1创建并使用solver对象
    通过SoverFactory等工厂构造Solver, ScoreDirector等对象的方法
    2.9.2诊断模式
    讲解通过配置文件实现运行过程中,引擎的自检模式。
    2.9.3日志输出
    讲解配置运行过程中日志输出的方法;并讲解如何通过日志分析引擎的行为。
    2.9.4解决方案的评分获取与分析
    讲解根据引擎的输出结果对象,获取各个层评分的方法;并分析各层得分的来源。
    2.10认识及应用Shadow Variable
    掌握链的结构及构成原则,实现Shadow Variable随链变化而变化。讲解Chained Through Time模式。
    2.11规划步骤与阶段
    讲解引擎从开始到结束,对问题进行求解的步骤,包括:Exhaustive Search, Construction Heuristics 与Local Search
    2.12简介各启发式寻优算法
    对目前OptaPlanner支持的各种寻优算法进行讲解,包括其原理、优缺点及应用方法。
    2.13分析解决方案的评分
    通过 ConstraintMatchTotal来分析一个解决方案的约束违反情况,从而实现规划评分可视化
    3OptaPlanner的评分体系
    3.1Drools相关概念及应用
    简单Drools的一些基础概念,以备在OptaPlanner进行评分过程中,可以灵活使用该规则引擎。
    3.1.1Drools简介
    讲解规则引擎Drools的背景与应用场景。
    3.1.2Drools Script
    讲解Drools脚本的语法与语义。
    3.1.3Drools与在OptaPlanner中的应用
    讲解如何通过Drools规则引擎,在OptaPlanner中实现评分。

    3.2ConstraintStream – 约束流的应用
    3.2.1约束流程的作用
    讲解ConstraintStream如何实现增量评分计算
    3.2.2约束流程的编写方法
    讲解约束流程的常用设计、编写方法。包含约束流的构建块,惩罚、奖励方式等。
    3.3Incremental 评分计算
    Incremental Java score calculation的使用方法,优缺点与适用场景。

    4OptaPlanner进阶应用
    介绍一些OptaPlanner高级应用,及一些可提高性能及规划效率的方法与技巧。
    4.1Score Calculation性能提升技巧
    通过优化约束与规则的设计、使用内置硬约束等技巧,提高引擎的评分效率;从而在固定时间内获得更佳的解。
    4.2时间分配模式
    讲解OptaPlanner在进行时间分配及规则的时,支持的三种模式:TimeSolt,TimeGrain,及ChainedThrough Time, 模式的原理、构成、实现方法及应用场景
    4.3时间计算技巧(将时间转为数值)
    分享在引擎运行过程中,进行时间计算时,可提高性能、简化计算的方法。
    4.4约束流的评分方式详解
    讲解如何通过约束流实现约束评分,从而提高评分逻辑的性能、避免使用Drools编写评分逻辑。
    5Optaplanner的规划步骤及Move的深入学习
    讲解引擎在运行过程中的种个步骤构成,特别针对其具原子性的Move操作进行剖释。
    5.1Move的行为分析
    分析最基本的规划行为-Move的操作过程,从最基本的运算操作来认识引擎的寻优过程。
    5.2MoveSelector与过滤技巧
    在引擎运行过程中,如何通过MoveSelection过滤器将不合理及无意义的Move过滤掉,从而提高求解效率。

    6OptaPlanner高级特征
    6.1启用并行计算
    讲解设计并行计算时的原则与技巧,并在7.10.0.Final及以后的版本中,通过配置实现引擎内部的并行运算,提高运行性能。
    6.2实现非易失性规划的方法
    通过实时规划来实现计划的非易失性。即通过对Planning Variable的值转换进行分析惩罚,减少前后两个计划的过度变化。
    6.3实时规划
    讲解实时计划的原理、原则及实现方法,实现在引擎运行过程中,与外界进行实时交互,并实现实时输出规则结果。
    6.4锁定Planning Entity
    通过引擎内部机制,实现在规则过程中对特定的Planning Entity实现锁定。
    6.5BenchMark的应用
    讲解如何通过BenchMark得到一个问题的规划建议方案,包括寻优算法的选用,其参数设定等。
    6.6PJS模型的研究与应用
    基于车间排产的场景,讲解如何通过对PJS模型进行衍生,用于解决多工序、多资源模型限制条件下的排程。
    1.1SolverManager批量并行规划
    讲解通过SolverManager进行多数据集并行计算

    2实例演练
    2.1基础应用 - 任务资源分配
    设计、并开发一个将任务分配到合适的资源,并实现成本优化的规则程序
    2.2高级应用 – 时间规划
    设计开发一个将任务分配到指定的资源,并为每个任务分配开始时间的规则程序,即APS原型。
    2.3简介具体代表性的官方示例(抽取较具代表性的三个案例讲解)
    讲解CloudBalance, TaskAssiging及Vehicle Routingdg三个表性的案例。
    2.4Project Job Scheduling模型详解
    基于Project Job Scheduling讲解排程场景中通用的规划模型 – PJS
    2.4.1PJS模块的常见结构
    讲解PSJ模型及其衍生模型的常见结构与适用场景。
    2.4.2PJS模型在OptaPlanner中的实现
    通过OptaPlanner中的Project Job Scheduling示例,讲解PSJ模型的具体实现



  • 练习

    答疑


  • 咨询在线客服

你可能感兴趣的内容

12万+浏览/ 2304学员/ 4.5评分
推荐
品牌介绍曙海品牌介绍
11万+浏览/ 8552学员/ 4.3评分
推荐
6万+浏览/ 2010学员/ 4.4评分
推荐