SLAB/Status — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(SAT/SMT-верификация)
(Optimal ILP Solvers .)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 161: Строка 161:
 
[[File:Status_2022-09-11_16-40-29_image0.png||400px]]
 
[[File:Status_2022-09-11_16-40-29_image0.png||400px]]
 
</slides>
 
</slides>
 +
 +
 +
== Модель с оптимизацией. ==
 +
* Обязательно выполняются только срочные заказы («Imax», к сроку)
 +
* Остальные добираются из «рынка» заказов с большими сроками.
 +
* Можно сильно играться с параметрами «доход плавки» против «стоимости перенастройки» и т.п.
 +
 +
=== Решается легко . ===
 +
* 20 смен
 +
* 1053 плавки
 +
* 30 секунд на гуроби
 +
 +
<slides width="800" split="-----">
 +
[[File:Status_2022-09-14_11-16-18_image0.png||800px]]
 +
-----
 +
[[File:Status_2022-09-14_11-17-19_image0.png||800px]]
 +
-----
 +
[[File:Status_2022-09-14_11-19-19_image0.png||800px]]
 +
-----
 +
[[File:Status_2022-09-14_11-35-29_image0.png||400px]]
 +
</slides>
 +
 +
=== Проблемы . ===
 +
* Долго формулируется проблема в Pyomo (4400 сек).
 +
** В два раза ускорил
 +
** Сделал систему кеширования моделей.
 +
 +
=== Optimal ILP Solvers . ===
 +
<slides width="800" split="-----">
 +
[[File:Status_2022-09-11_17-22-13_image0.png||800px]]<ref>[https://assets.gurobi.com/pdfs/benchmarks.pdf]</ref>
 +
-----
 +
[[File:gurobi-becnhmarks-2019-01.png||800px]]
 +
-----
 +
</slides>
 +
 +
==== Цены ====
 +
* https://ampl.com/products/standard-price-list/
  
 
== Как работать на портале discopal-lab ==
 
== Как работать на портале discopal-lab ==

Текущая версия на 10:09, 21 сентября 2022

Заголовок

SLAB/Status
Автор
Стас Фомин
Нижний колонтитул
SLAB/Status
Дополнительный нижний колонтитул

Стас Фомин, 10:09, 21 сентября 2022

Видео .

Быстро набросан фреймворк .

Status 2022-09-02 16-56-51 image0.png
Status 2022-09-02 19-26-01 image0.png
Status 2022-09-05 16-32-34 image0.png

Визуализация .

  • Цвета-геометрия-сетка
    • Визуалиазация важных переменных-ограничений
  • «WTF» по картинке
    • очевидная неоптимальность — разбираемся

Технологически .

  • Веб — ненужен (пока)
  • Анимации, динамики нет — «вход-выход»
  • Таблицы — как вход и результат
    • Можно перечитывать без выхода

Симуляции — потом .

pygame симуляция .

Status 2022-09-07 13-18-12 image0.png

Параллельная обработка несколькими солверами .

Status 2022-09-02 16-51-50 image0.png
Status 2022-09-02 17-06-04 image0.png

Status 2022-09-02 17-41-05 image0.png

Status 2022-09-02 17-51-53 image0.png

Status 2022-09-03 21-23-25 image0.png

Status 2022-09-04 00-57-46 image0.png

Status 2022-09-04 01-00-02 image0.png

Мучения .

  • Тонкости солверов
    • pyomo — хорошо, но ---
  • Долгие операции
    • «неудачи космических полетов»


Status 2022-09-03 21-25-34 image0.png

Status 2022-09-05 02-16-53 image0.png

4226 заказов (все) на 26 смен .

Status 2022-09-05 02-19-35 image0.png


Status 2022-09-05 14-25-44 image0.png

Status 2022-09-05 15-01-51 image0.png

Status 2022-09-07 12-28-53 image0.png

Status 2022-09-08 10-25-03 image0.png

Status 2022-09-08 10-29-08 image0.png

Файл-решение

На древнем компе 2008 года .

Status 2022-09-05 17-24-29 image0.png

Status 2022-09-05 17-25-00 image0.png

Status 2022-09-05 17-25-34 image0.png

Status 2022-09-05 17-26-24 image0.png

Модель .

Убрано

  • Цепь вывоза
    • На складе надо моделировать серьезно (не «рюкзак»)
      • Охлаждение
      • Стекирование
      • Вывоз
  • Сроки вывоза
    • Можно легко вернуть — но в буфере склад!

Модель — максимальная простота .

Демо

  • «Гидродинамика потока слабов»
  • ЦЛП моделирование всего этого.
  • Убедиться, что эти размеры «тащатся».


Модель1 — размеры.

СменПечейПериодовЗаказовРазмерВремя
5521809569x3975
55222010774x4475
85230020999x7160
145250037049x12530
16522000*80439x271201800-антек182
20523000*136469x459002693-антек182
26524226*180821x607101700-антек182

План .

  • У меня (пока?) есть магия добывать лицензии на гуроби
  • Придерживаться gurobi-солвера пока отлаживаем модель
  • Когда все ОК с моделью → смотреть cbc/glpk/…  → пытаемся догнать

Модель .

  • Компактификация заказов (небинарные, целые)
  • Понять, что с охлаждением-вывозом-складом


Модель1 — разъяснение .

  • Пройдемся по коду


Модель2 — вывоз .

Учет вывоза, рельс, склада

Status 2022-09-09 23-44-29 image0.png


SAT/SMT-верификация

  • Нужна только когда определились с целевой функцией
    • Переходим к задаче разрешимости
  • Пробовал для эвристики «подобрать минимальное количество смен, чтобы выполнить набранный заказ»
    • Работает, но «персистент гуроби» — на порядок лучше.

Status 2022-09-11 16-36-16 image0.png

Status 2022-09-11 16-40-29 image0.png


Модель с оптимизацией.

  • Обязательно выполняются только срочные заказы («Imax», к сроку)
  • Остальные добираются из «рынка» заказов с большими сроками.
  • Можно сильно играться с параметрами «доход плавки» против «стоимости перенастройки» и т.п.

Решается легко .

  • 20 смен
  • 1053 плавки
  • 30 секунд на гуроби

Status 2022-09-14 11-16-18 image0.png

Status 2022-09-14 11-17-19 image0.png

Status 2022-09-14 11-19-19 image0.png

Status 2022-09-14 11-35-29 image0.png

Проблемы .

  • Долго формулируется проблема в Pyomo (4400 сек).
    • В два раза ускорил
    • Сделал систему кеширования моделей.

Optimal ILP Solvers .

Gurobi-becnhmarks-2019-01.png

Цены

Как работать на портале discopal-lab

Вопросы по предметной области

  • Проработать — переключение, АЦВ-АПК, плавка=ковш?
    • задержки на вакуумирование срабатывают (или пренебрежимы времем плавки0?
  • Заказы с долгим охлаждением — откуда берется? тип стали, обьем?
    • Моделирование двухсменного охлаждения — два склада.
  • Точно склад стеллажно - квадратно-гнездовой?

флоу

Стилкастингфлоу.png

Scheduling-in-hybrid-flow-shop W640.jpg


Склад

Может быть реально стеллажным

Или ханойские башни?

Status 2022-09-11 20-33-56 image0.png

Открытые технические вопросы .

  • Исследовать параметры солверов (не реагирует на gap)
  • Собрать версию CBC с threading
  • xpra и cocalc — большие лаги

Как бы сохранить best feasible? .

Status 2022-09-05 11-09-05 image0.png

Status 2022-09-05 11-12-57 image0.png


Библиотека