APS入门2-ortools

关注我的公众号YueTan进行交流探讨
欢迎关注我的APS仓库:https://github.com/yuetan1988/python-lekin

APS系列入门

开源

https://github.com/google/or-tools

新建环境,安装包

conda create --name op python=3.7
python -m pip install --upgrade --user ortools

了解常见的优化类型
在这里插入图片描述

数学模型

采用or-tools等运筹方法进行生产排程最重要的是建立数学模型。
建立数学模型之前,需要想清楚哪些变量,哪些实体。一般实体可以作为下角标

  • i 第i台机器
  • j 第j个工件
  • k 第k道工序

决策变量

  • n j n_j nj 表示 第j工件的第n加工工序
  • y i j l y_{ijl} yijl 表示工件j的第l道工序在第i台机器进行加工,01表示是否
  • P i j k l P_{ijkl} Pijkl 表示工件j的第l道工序在第i台机器的k工序加工时间
  • 加工开始时间,加工结束时间。根据完成时间与加工时间可以推导出开始时间,因此两个即可

表征完成后,重要的就是目标和约束的建模

  • 目标

优化问题一半都是求极值问题。
总的加工时间最短。总加工时间可以描述为
- C j k C_{jk} Cjk 表示机器j的第k个位置的完成时间

  • 约束

对约束的理解建模通常是最复杂的部分。
工艺路线本身就是约束,要安装顺序执行。前一个工序做完才能开始下一道
同一时间,统一设备只允许加工的生产任务或数量
某个设备开始执行一个任务后,执行完成才能开始下一个

参考

  • https://www.kaggle.com/code/jpmiller/application-of-google-or-tools
  • https://www.kaggle.com/code/jpmiller/google-or-tools-w-clusters
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YueTann

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值