Алгоритм решений
On the Solver tab of the Optimise Material Flow form, you can configure the solver for the optimisation process.
Грузопоток оптимизируется с помощью математически обоснованного решателя смешанного целочисленного программирования (MIP). Запуск процесса оптимизации определит перемещение складированного материала между пунктами назначения.
Периоды
Использовать скользящее окно
Встроенный алгоритм решений содержит опцию для определения раздвижного окна. С его помощью задача разбивается на части - временные горизонты накладываются друг на друга для снижения количества времени, требующегося на решение.
Например:
Если временной горизонт составляет 14 лет, а вы выбираете раздвижное окно на 8 лет с наложением в 5 лет, вы разделите данную задачу на 3 меньшие части. Во время первой "проходки" процесса будут учитываться все выемочные блоки при временном горизонте в 8 лет. Это решение определит блоки, которые будут разрабатываться в первые 3 года (размер окна - наложение).
При второй "проходке" процесса эти блоки будут исключены из задачи, а решение определит блоки, которые будут разрабатываться в годы с 4-го по 6-й.
При последней "проходке" процесса будут заданы работы на период с 7-го по 14-й годы.
На практике данное решение, полученное с помощью чувствительных значений раздвижного окна, не будет сильно отличаться для решений по всем выемочным блокам всего временного горизонта. Тем не менее, разница в показателях роста производительности может быть значительной. Учитывая пример, приведенный выше, здравый смысл подсказывает, что знание того, какие блоки будут разрабатываться в годы с 9-го по 14-й, не будет значительно влиять на блоки, планирующиеся к разработке в годы с 1-го по 3-й.
Входная фильтрация
Максимальная продолжительность разделения (дни)
Если установить флажок и ввести значение в поле Максимальная длительность разделения задачи (дни), все задачи, длительность которых превышает длительность срока, будут внутренне разделены на «части» длительностью, равной длительности срока, и не более. Решатель назначает периоды для каждого разделения отдельно, что позволяет планировать задачи по периодам. значение по умолчанию для поля — [Авто], и используется продолжительность периода, указанная на вкладке Оптимизировать .
Разделения, созданные для одной задачи, образуют цепочку зависимостей, то есть каждое разделение должно быть обработано по порядку и не может произойти после следующего разделения. Решение о том, отрабатывать задачу или нет, по-прежнему принимается для каждой задачи в целом: либо отрабатываются все части задачи, либо ни одна. Например: если есть две задачи, t1 и t2 с зависимостью от t1 > t2, то первое разделение из t2 зависит от (не должно быть выполнено ранее) последнего разделения из t1.
Если количества сообщаются за периоды, то они накапливаются путем разделения; если задача разделена на периоды, то ее количественные значения распределяются по периодам в соответствии с общей длительностью разделения, назначенной каждому периоду.
Примечание: разделение задач является внутренним процессом оптимизации: фактические задачи в плане не подразделяются. При применении решения по оптимизации к плану начало каждой задачи назначается в начале периода, к которому относится ее первое разделение. Затем зависимости применяются как обычно, что может переместить задачи на более поздние сроки.
Малый допуск округления коэффициента
Предварительная обработка задач иногда приводит к очень малым значениям расчетных коэффициентов. Например, для атрибутов массы с типичными значениями в диапазоне 1000–10 000 (измеренных в тоннах) некоторые задачи могут иметь значения порядка 0,001 (килограммов). Включение этих очень маленьких значений вместе с большими значениями может создать дополнительную нагрузку на решатель и замедлить оптимизацию. Часто эти небольшие значения можно округлить до нуля, не влияя на результат оптимизации.
Установите этот флажок, чтобы значения коэффициентов ниже указанного числа были увеличены до этого числа в соответствии с точностью отображения десятичной дроби. Десятичная точность устанавливается на странице Планирование | Вкладка Календарный план в группе Атрибуты, когда Единицы назначаются атрибутам.
Введите значение допуска округления малого коэффициента в соответствующем поле или примите значение по умолчанию 0,0001.
Встроенный
Приложение включает встроенный алгоритм решений, который был оптимизирован, с поддержкой нескольких ядер процессора. Количество ядер, которое можно использовать, зависит от ограничений, которые заданны опцией Ограничить число ядер для работы приложения в меню во вкладке Ресурсы > Многоядерный процессор в форма Опции | Система | Опции системы.
Gurobi
Приложение предоставляет интерфейс к хорошо известному коммерческому решателю Gurobi. Gurobi - один из нескольких коммерческих решателей на рынке, которые активно поддерживаются и улучшаются с течением времени. Хотя они имеют более высокую производительность и способны решать более сложные задачи, чем встроенный решатель, входящий в состав приложения, решение будет одинаковым или очень похожим, независимо от того, какой решатель вы выберете.
Примечание: Чтобы получить доступ к опциям Gurobi Solver, вам потребуется лицензия Gurobi или покупка времени в облачном сервисе Gurobi. Смотрите: Подготовка
Использование системных настроек
При выборе этой опции заданные вами настройки будут перенесены во все проекты на одной машине. Это означает, что вам не нужно устанавливать настройки Gurobi для каждого нового проекта.
Использование настроек проекта
Если были установлены системные настройки Gurobi (описанные выше), они будут отменены настройками проекта, которые вы зададите здесь. Нажмите кнопку Настройки, чтобы применить настройки, локальные для текущего проекта.
Критерии прекращения (для каждого окна)
Выберите способ завершения работы решателя в каждом окне на основе активных (отмеченных соседним флажком) критериев, которые вы выбрали и указали.
Качество решения
(Необязательно.) Выберите для прекращения работы алгоритма при достижении указанного качества решения.
В качестве неотъемлемой части своей работы алгоритм решений определяет и поддерживает верхний предел общей прибыли, которая может быть получена из любого решения, которое удовлетворяет проектным параметрам. Выражение общей прибыли, полученной от текущего решения алгоритма, в процентах от этого верхнего предела дает показатель «качества» текущего решения.
(Необязательно.) Укажите минимальное качество (0,00% <= x <= 100,00%) возможного решения, которое должно быть достигнуто до завершения работы алгоритма решений. Если не указано иное, качество решения по умолчанию составляет 95%.
Целевое значение
(Необязательно.) Выберите для прекращения работы алгоритма, если будет достигнуто указанное целевое значение (общая прибыль из извлеченных выемочных единиц).
Укажите минимальную общую прибыль, которая будет получена из выполнимого решения до прекращения работ алгоритма.
Улучшение целевого значения
(Необязательно.) Выберите для прекращения работы алгоритма решений, когда станет ясно, что для получения решений с более высокой общей прибылью может потребоваться значительное количество дополнительного времени.
Минимальный процент
(Только улучшение целевого значения.) Укажите минимальный процент улучшения в общей прибыли между последовательными решениями.
Максимум минут
(Только улучшение целевого значения.) Укажите максимальное количество минут времени обработки, которое можно использовать для получения минимального улучшения в общей прибыли.
Пример: настройки по умолчанию Минимальный процент = 0,01 и Максимум минут = 15 указывают, что, если улучшение общей прибыли между текущим и предыдущим решениями составляет менее 0,01% и требуется более 15 минут времени обработки для достижения этого улучшения, работу алгоритма необходимо остановить и использовать текущее выполнимое решение.
Минуты на прогон
(Необязательно.) Выберите, чтобы завершить работу алгоритма решений по истечении указанного количества минут.
Укажите максимальное количество минут времени обработки до завершения работы алгоритма.
Количество решений
(Необязательно.) Выберите, чтобы завершить работу алгоритма решений после того, как будет найдено указанное количество решений.
Укажите максимальное количество решений, которые будут найдены до завершения работы алгоритма.
Файл протокола
Дважды щелкните мышкой по полю или нажмите на кнопку Выбрать, чтобы указать или создать файл протокола для алгоритма решений.
Завершение работы алгоритма решений вручную
Убедитесь, что приложение, для которого вы хотите завершить работу алгоритма решений, имеет активное окно Windows.
Нажмите клавишу ESC, чтобы вручную остановить решатель в любой момент. Вам будет предложено подтвердить прерывание обработки. Нажмите на «Да», чтобы разрешить алгоритму завершить работу при первой доступной возможности.
В зависимости от размера блочной модели, количества блоков в минимальной выемочной единице и настроек функции Проект | Опции | Система | Опции системы | Ресурсы > Многоядерный процессор > Ограничить число ядер для работы Micromine, завершение алгоритма может занять некоторое время. Если вам требуется доступ к решению, вероятно, вам придется набраться терпения во время этого процесса,
Подсказка: во время окончания работы алгоритма вы можете использовать Диспетчер задач Windows, чтобы отследить производительность компьютера и определить, сколько дополнительного времени может потребоваться для завершения процесса. Загрузка процессора и памяти будет уменьшаться по мере того, как алгоритм будет завершать работу каждого из своих процессов.
После того как работа алгоритма решений будет завершена, если будет доступно выполнимое решение с качеством не менее 30%, вам будет предложено следующее:
Нажмите на «Да» для обработки и загрузки текущего решения из алгоритма решений.
Чтобы завершить настройку формы Оптимизация грузопотока, перейдите на вкладку Вывод.