ОПТИМИЗАТОР ПРОИЗВОДСТВА ДЛЯ УПРАВЛЕНИЯ ЦЕПОЧКАМИ ПОСТАВОК
PRODUCTION OPTIMISER FOR SUPPLY CHAIN MANAGEMENT

Уровень техники
Проблема оптимизации цепочки поставок является сложной задачей. Как правило, термин "управление цепочками поставок" относится к потоку продукции из места производства через промежуточные пункты в место конечного использования. Задача управления цепочками поставок (УЦП) может быть упрощенно описана следующим образом: продукция может быть произведена (или получена) из множества источников за различную стоимость, при этом продукция должна быть распределена и доставлена множеству потребителей. Следует отметить, что эта задача отличается от традиционной задачи оптимизации поставок. В сценарии оптимизации поставок конкретная продукция должна быть доставлена из исходной точки в место назначения, и существенная проблема состоит в том, как обеспечить наиболее эффективную доставку партии продукции. Однако задача УЦП может быть весьма сложной в том случае, когда продукцией, о которой идет речь, является такая товарная продукция, как, например, промышленные жидкости. В этом случае товарная продукция, доставляемая в любой заданный пункт назначения, может быть произведена (или получена) из любого доступного источника. Вследствие этого, добавление производящей стороны в задачу УЦП существенно усложняет процедуру оптимизации.
В настоящее время существуют систему оптимизации для оптимизации аспекта распределения в задаче УЦП. Эти системы обычно определяют набор маршрутов доставки для партии поставок из определенных мест. Однако такие системы часто имеют ограничения, заключающиеся в невозможности учета различных производственных возможностей. В то же самое время, по меньшей мере, для производителя и поставщика товарных веществ затраты за энергоснабжение часто изменяются в широких пределах в зависимости от места расположения, различные производственные предприятия имеют различную себестоимость продукции и различные профили производства, и могут изменяться объемы потребления товарной продукции заказчиками. Следовательно, выбор стратегии производства может оказать существенное влияние на эксплуатационные расходы. Фактически, для производства и распределения промышленных жидкостей наиболее затратным компонентом производства и распределения может являться стоимость энергии, потребляемой производственными предприятиями. В этом случае использование системы, сконфигурированной таким образом, что она оптимизирует распределение продукции, может привести к результатам, которые являются далеко не оптимальными. Это происходит потому, что зачастую удобно производить вещества на том производственном предприятии, которое обеспечивает очень низкую себестоимость производства, даже в том случае, когда это может приводить к значительному увеличению расходов на транспортировку для некоторых поставок. Однако существующие в настоящее время системы оптимизации часто неспособны учитывать эти сценарии.
Следовательно, сохраняется потребность в создании методик оптимизации, которые способны обеспечивать оптимизацию задачи УЦП как с точки зрения производства, так и с точки зрения распределения, для производителя и дистрибьютора товарной продукции.
Раскрытие изобретения
Технический результат, на достижение которого направлено настоящее изобретение, заключается в обеспечении возможности вычисления за приемлемое время высококачественных решений для задачи УЦП (а также в повышении эффективности таких решений) посредством генерации такого решения относительно производства, которое оптимизирует сторону производства в задаче УЦП, с использованием метода оптимизации, основанного на генетическом алгоритме, и нахождения допустимого решения относительно распределения для оптимизированного решения относительно производства с использование метода оптимизации, основанного на принципе «муравейника». Различные варианты осуществления настоящего изобретения относятся как к аспектам производства, так и к аспектам распределения в задаче управления цепочками поставок. Например, варианты осуществления настоящего изобретения могут быть использованы для оптимизации как производства, так и распределения товарных веществ, таких как, например, промышленные жидкости.
Один из вариантов осуществления настоящего изобретения включает в себя способ оптимизации цепочки поставок. Способ обычно содержит этапы, на которых осуществляют генерацию оптимизированного решения относительно производства для цепочки поставок с использованием методики оптимизации, основанной на генетическом алгоритме, для оптимизации совокупности начальных решений; и генерируют оптимизированное решение относительно распределения для оптимизированного решения относительно производства с использованием методики оптимизации, основанной на принципе «муравейника». Методика оптимизации, основанная на генетическом алгоритме, и методика оптимизации, основанная на принципе «муравейника», могут функционировать совместно, обеспечивая быстрое определение высококачественных решений задачи УЦП.
В конкретном варианте осуществления настоящего изобретения этап генерации оптимизированного решения относительно производства для цепочки поставок может содержать этапы, на которых считывают входные данные, причем эти входные данные описывают задачу для цепочки поставок, подлежащей оптимизации; осуществляют генерацию совокупности решений, при этом каждое решение из этой совокупности определяет допустимое решение задачи для цепочки поставок, подлежащей оптимизации; производят оценку каждого решения из упомянутой совокупности и выполняют сортировку решений из упомянутой совокупности согласно оценке, и выполняют методику оптимизации, основанную на генетическом алгоритме, с использованием упомянутой совокупности до тех пор, пока не будет выполнено условие завершения, определенное входными данными.
В общем случае, методика оптимизации, основанная на генетическом алгоритме, может быть сконфигурирована таким образом, что обеспечивает "эволюцию" начальной совокупности на протяжении множества поколений, осуществляя генерацию новых решений и удаляя плохие решения из совокупности в процессе этой эволюции. Генерацию новых решений обычно осуществляют путем изменения решения с использованием выбранной методики видоизменения. Может использоваться любое количество методик видоизменения решения. Например, одна методика видоизменения решения содержит операцию видоизменения решения из совокупности решений по случайному закону, другая методика содержит операцию видоизменения решения на основании эвристического правила, а третья методика содержит операцию скрещивания двух или большего количества решений. Кроме того, поскольку задача УЦП, подлежащая оптимизации, может отражать работу в реальных условиях, то источником входных данных может являться база данных о состоянии системы, описывающая реальные текущие действия в области производства и распределения. Кроме того, входные данные могут быть предоставлены в структурированном виде, например, на широко используемом расширяемом языке гипертекстовой разметки (XML), который используют для описания данных.
Генерация начальной совокупности решений может быть осуществлена различным образом. Например, совокупность начальных решений может содержать первую группу решений, генерация которых осуществлена согласно эвристическим правилам, и вторую группу решений, генерация которых осуществлена с использованием случайного процесса.
Кроме того, в другом конкретном варианте осуществления настоящего изобретения операция генерации оптимизированного решения относительно распределения для оптимизированного решения относительно производства с использованием методики оптимизации, основанной на принципе «муравейника», может содержать этап, на котором задают начальное состояние вектора весового коэффициента производственного предприятия для каждого производственного предприятия в цепочке поставок задают начальное состояние вектора установки для каждого места доставки в цепочке поставок и осуществляют генерацию решения относительно распределения, причем это решение относительно распределения описывает один или большее количество маршрутов доставки из производственного предприятия, по меньшей мере, в одно место доставки.
В общем случае, компоненты вектора весового коэффициента производственного предприятия могут указывать предпочтения для поставок из производственного предприятия, представленные в виде вектора, в совокупность установок. А компоненты вектора установки могут указывать предпочтительный маршрут доставки из установки, представленной вектором установки, в другие установки.
Краткое описание чертежей
Для более глубокого понимания сущности и задач настоящего изобретения следует изучить приведенное ниже подробное описание совместно с сопроводительными чертежами, на которых схожие элементы обозначены одинаковыми или аналогичными номерами позиций и на которых изображено следующее:
на фиг.1 проиллюстрирована система оптимизации цепочки поставок согласно одному из вариантов осуществления настоящего изобретения;
на фиг.2 дополнительно проиллюстрированы компоненты системы оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения;
на фиг.3 проиллюстрирован набор входных файлов, используемых системой оптимизации цепочки поставок из фиг.1, согласно одному из вариантов осуществления настоящего изобретения;
на фиг.4 дополнительно проиллюстрированы компоненты системы оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения;
на фиг.5, 6 проиллюстрированы операции, выполняемые оптимизатором производства согласно одному из вариантов осуществления настоящего изобретения; и
на фиг.7 - 9 проиллюстрированы операции, выполняемые оптимизатором распределения, согласно одному из вариантов осуществления настоящего изобретения.
Осуществление изобретения
В вариантах осуществления настоящего изобретения предложена компьютеризированная система оптимизации, которая может использоваться для оптимизации производства и распределения товарных веществ. Используемый здесь термин "задача оптимизации цепочки поставок (управления цепочкой поставок - УЦП)" относится к оптимизации как производства, так и распределения товарных веществ. Например, варианты осуществления настоящего изобретения могут быть использованы для оптимизации производства и распределения промышленных жидкостей, таких как, например, жидкий азот, жидкий кислород, жидкий аргон и т.д.
Как правило, термин "оптимизация" используют здесь для описания такого решения задачи УЦП, которое является лучшим, чем другие решения, обычно с точки зрения себестоимости производства, затрат на распределение продукции и/или иных факторов. Термин "решение задачи УЦП" относится к описанию графика производства и/или распределения. Идеальное решение удовлетворяет любым действующим ограничениям (например, предельным объемам производства и требованиям потребителя) и при этом также сводит к минимуму суммарные издержки производства и распределения. Однако следует отметить, что варианты осуществления настоящего изобретения не обязательно должны определять действительно самое оптимальное или наилучшее решение задачи УЦП. Вместо этого, термин "оптимизация" обычно относится к определению приемлемых решений сложных задач за приемлемое количество времени. В одном из вариантов осуществления изобретения система оптимизации содержит прикладную программу, сконфигурированную таким образом, что она ищет высококачественное решение задачи оптимизации.
В случае производства и распределения товарной продукции система оптимизации может быть сконфигурирована таким образом, чтобы определять объемы производства предприятий и графики движения по маршрутам, удовлетворяющие запросам потребителей, также уменьшая эксплуатационные расходы. Например, вариантами оптимизации, которые могут быть заданы, являются, в том числе, следующие: снижение затрат на энергоснабжение путем перемещения производства между различными производственными предприятиями, определение источника производства и маршрута доставки, которые следует использовать для каждой требуемой поставки, и определение количества товарной продукции, подлежащей доставке, на каждой остановке вдоль маршрута доставки для выполнения обязательств перед потребителями.
2
2
2
2
Варианты осуществления настоящего изобретения описаны здесь применительно к системе производства и распределения, используемой для производства и распределения двух жидкостей: жидкого кислорода (ЖК (LOX) или O) и жидкого азота (ЖА (LIN) или N). Однако для обычного специалиста в данной области техники понятно, что варианты осуществления настоящего изобретения могут быть приспособлены для оптимизации производства и распределения множества видов товарной продукции, в том числе для оптимизации производства и распределения более (или менее) двух веществ, в том числе иных веществ, чем O или N.
На фиг.1 проиллюстрирована система 100 оптимизации цепочки поставок согласно одному из вариантов осуществления настоящего изобретения. Как правило, компоненты, проиллюстрированные в системе 100, могут быть реализованы в виде компьютерных прикладных программ, сконфигурированных для существующих компьютерных систем, которыми являются, например, настольные компьютеры, серверные компьютеры, портативные компьютеры, планшетные компьютеры и т.п. Однако описанные здесь прикладные программы не ограничены какой-либо конкретной вычислительной системой и могут быть приспособлены для целесообразного использования новых вычислительных систем по мере их появления. Кроме того, система 100 может быть приспособлена для использования в многопроцессорных средах, например в системе с множеством центральных процессоров (ЦП) и совместно с распределенными и параллельными системами, которыми являются, например, кластеры или сети вычислительных устройств.
Кроме того, проиллюстрированные прикладные программы в системе 100 могут выполняться в распределенных системах, осуществляющих обмен информацией через компьютерные сети, в том числе через локальные вычислительные сети или через большие глобальные сети, например через сеть Интернет. В одном из вариантов осуществления изобретения компоненты системы 100 могут быть реализованы в виде прикладной программы (или прикладных программ), хранящихся на машиночитаемых носителях информации, таких как, например, постоянное запоминающее устройство на компакт-диске (CD-ROM), постоянное запоминающее устройство на универсальном цифровом диске (DVD-ROM), модуль флэш-памяти или на иных материальных носителях информации.
Как правило, программы, выполняемые для реализации вариантов осуществления настоящего изобретения, могут являться частью операционной системы или конкретного приложения, компонента, программы, модуля, объекта или последовательности команд. Компьютерная программа из настоящего изобретения обычно состоит из множества команд, которые собственный компьютер транслирует в машиночитаемый формат и, следовательно, в исполняемые команды. К тому же, программы состоят из переменных и структур данных, которые либо хранятся локально относительно программы, либо находятся в памяти или в запоминающих устройствах. Кроме того, различные описанные ниже программы могут быть идентифицированы на основании того приложения, для которого они реализованы в конкретном варианте осуществления настоящего изобретения. Однако следует понимать, что любая приведенная ниже конкретная номенклатура программ использована просто для удобства, и, следовательно, настоящее изобретение не следует ограничивать его использованием исключительно в каком-либо конкретном приложении, которое определено и/или подразумевается такой номенклатурой.
Как показано на чертеже, система 100 содержит модуль 115 ввода, модуль 120 оптимизации и модуль 130 вывода. Модуль 115 ввода может быть сконфигурирован таким образом, что выполняет прием и обработку данных, описывающих систему производства и распределения, подлежащую оптимизации (то есть описывающих задачу УЦП). В одном из вариантов осуществления изобретения модуль 115 ввода может быть сконфигурирован таким образом, что выполняет считывание и обработку документов на расширяемом языке гипертекстовой разметки (XML). Язык (XML) представляет собой широко используемый стандарт для создания языков разметки, используемых для описания структуры данных. Язык XML предоставляет пользователям возможность определения набора тегов разметки и структуры документа. Кроме того, на рынке имеется широкое разнообразие программ просмотра, редакторов и утилит для документов на расширяемом языке гипертекстовой разметки (XML).
В одном из вариантов осуществления изобретения, модуль 115 ввода может осуществлять генерацию набора входных файлов, описывающих сценарий производства и распределения, подлежащий оптимизации. Например, системные базы 105 данных могут хранить информацию о текущем состоянии операций производства и распределения, например информацию о производственном оборудовании, об объемах производства, о потребности прогнозирования, о текущих издержках производства, о местах, где находятся заказчики, о требованиях заказчиков, о распределительной сети, о затратах на распределение продукции и т.д. Модули 115 ввода могут быть сконфигурированы таким образом, что, исходя из этой информации, осуществляют генерацию набора входных файлов, описывающих текущий режим работы, с использованием данных, извлеченных из системных баз 105 данных, вместе с предоставленными пользователем установочными параметрами для модуля оценки (используемого для оценки решений) и пользовательскими конфигурациями модуля 120 оптимизации. В дополнение к этому, модули 115 ввода также могут использоваться для обработки альтернативных сценариев 110 ("что произойдет, если"), которые описывают возможные сценарии производства и распределения.
Например, пользователи могут создать альтернативный сценарий 110 для исследования выгод, которые могут быть получены путем модернизации оборудования, для исследования затрат на добавление нового потребителя или для исследования выгод добавления или удаления производственных мощностей. В этом случае пользователь может отредактировать набор входных файлов, генерация которых осуществлена на основании системных баз данных, для видоизменения аспектов текущего состояния функционирования производства и распределения. Однако следует отметить, что система 100 оптимизации и модули 115 ввода не обязательно должны проводить различия между задачей оптимизации, заданной с использованием информации из системной базы 105 данных, и задачей оптимизации, заданной сценарием 110 альтернативным, созданным пользователем.
Как показано на чертеже, модуль 120 оптимизации содержит оба оптимизатора: оптимизатор 122 распределения и оптимизатор 124 производства. Оптимизатор распределения может быть сконфигурирован таким образом, что определяет низкозатратные установочные параметры для производственного оборудования, которые удовлетворяют действующим ограничениям, одновременно обеспечивая уменьшение эксплуатационных расходов. А оптимизатор производства может быть сконфигурирован таким образом, что определяет эффективные стратегии распределения. За счет включения обоих модулей оптимизации в состав одной системы 100 оптимизации оптимизация производства может быть выполнена с учетом затрат на распределение продукции и ограничений, и наоборот. В одном из вариантов осуществления изобретения модуль оптимизации может быть сконфигурирован таким образом, что создает график производства и распределения для предстоящего периода времени. В типичном случае модуль 120 оптимизации может создавать график производства и распределения на период времени продолжительностью в одну неделю. Однако фактический период времени может быть указан как часть набора входных файлов, подаваемого в модуль 115 ввода.
Кроме того, хотя оптимизатор 122 распределения и оптимизатор 124 производства могут функционировать совместно друг с другом, каждый из них может быть сконфигурирован таким образом, что использует различные методики оптимизации. Это позволяет модулям 122 и 124 оптимизации функционировать с использованием способа, являющегося наиболее подходящим для оптимизируемой задачи. За счет включения в состав системы обоих оптимизаторов: оптимизатора 122 распределения и оптимизатора 124 производства, сконфигурированных таким образом, что они используют различные методики оптимизации, варианты осуществления настоящего изобретения могут определять решения более высокого качества за более короткое время, чем иные системы.
Примерами методик оптимизации, которые может выполнять модуль 120 оптимизации, являются, в том числе, оптимизаторы, основанные на принципе «муравейника», генетические алгоритмы, предметно-ориентированная эвристика и математические/численные методы (например, линейное программирование) и т.п. В конкретном варианте осуществления изобретения оптимизатор 124 производства может оптимизировать производство товарных веществ с использованием генетического алгоритма, в то время как оптимизатор 122 распределения может оптимизировать распределение этих веществ с использованием методики оптимизации, основанной на принципе «муравейника». На фиг.5, 6, описание которых приведено ниже, изображен пример методики оптимизации, основанной на генетическом алгоритме, который может использоваться оптимизатором 124 производства, а на фиг.7, 8 приведен пример методики оптимизации, основанной на принципе «муравейника», который может использоваться оптимизатором 122 распределения.
Модули 130 вывода могут быть сконфигурированы таким образом, что осуществляют генерацию выходных данных в организованном виде и представления результатов цикла оптимизации. Например, модуль 130 вывода может быть сконфигурирован таким образом, что когда модуль 120 оптимизации завершает цикл оптимизации, то он осуществляет генерацию множества отчетов, которые описывают наилучшее найденное решение, потенциальные проблемы в данных и распределение расходов, связанных с наилучшим найденным решением. Центр 135 управления может использовать эти отчеты для реализации решения, сгенерированного модулем 120 оптимизации. Аналогичным образом, анализатор 140 стратегии может проанализировать отчеты, сгенерированные модулем 130 вывода, относящиеся к альтернативному сценарию 110. В одном из вариантов осуществления изобретения модуль вывода может быть сконфигурирован таким образом, что осуществляет генерацию отчетов в формате расширяемого языка гипертекстовой разметки (XML).
На фиг.2 дополнительно проиллюстрированы компоненты системы 100 оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения. Как показано на чертеже фиг.2, на нем проиллюстрирован вариант осуществления модуля 115 ввода, который содержит модуль 205 интерфейса пользователя, модуль 210 ввода данных, модуль 215 проверки правильности данных и модуль 220 обработки данных. Модуль 205 интерфейса пользователя может предоставлять пользователю возможность взаимодействия с системой 100 оптимизации. Например, модуль 205 интерфейса пользователя может обеспечивать графический интерфейс пользователя, который обеспечивает возможность графического редактирования входных файлов, описывающих сценарий производства и распределения, подлежащий оптимизации, параметров, связанных с этим сценарием, и может предоставлять пользователям возможность просмотра результатов цикла оптимизации, сгенерированных модулем 130 вывода. Кроме того, модуль 205 интерфейса пользователя может предоставлять пользователям возможность выполнять множество функций, таких как, например, инициирование цикла оптимизации, отображение результатов выполняемого в текущий момент времени или завершенного цикла оптимизации и прерывание цикла оптимизации в ходе его выполнения.
В одном из вариантов осуществления изобретения модуль 215 проверки правильности данных может быть сконфигурирован таким образом, что проверяет правильность входных данных, сгенерированных модулями 210 ввода данных. Например, модули 215 проверки правильности данных могут проверять, являются ли документы на языке XML, описывающие альтернативный сценарий 110, сформированными надлежащим образом. Если файл входных данных не соответствует грамматике языка XML, используемой системой 100 оптимизации, то модуль 205 интерфейса пользователя может быть сконфигурирован таким образом, что выдает пользователям указание о том, что было обнаружено наличие реальной проблемы.
Модуль 220 предварительной обработки может быть сконфигурирован таким образом, что перед началом цикла оптимизации он выполняет какие-либо предварительные вычисления для повышения эффективности процедуры оптимизации. Например, в одном из вариантов осуществления изобретения модуль 220 предварительной обработки может быть сконфигурирован таким образом, что осуществляет генерацию прогноза потребностей для установок, в которые могут быть доставлены вещества. Другими словами, модуль 220 предварительной обработки может создавать прогнозы потребностей потребителей товарных веществ, произведенных на производственном оборудовании. В этом случае модуль 220 предварительной обработки может быть сконфигурирован таким образом, что вычисляет суточную норму потребления товарного вещества установкой и использует эти нормы во время цикла оптимизации. В конкретном варианте осуществления изобретения суточная норма потребления для установки, в которую доставляют вещества, может быть вычислена из введенных прогнозов потребностей для каждой установки путем вычитания спрогнозированного уровня жидкости в резервуаре в последний день периода планирования из спрогнозированного уровня жидкости в резервуаре в первый день периода планирования и деления этого количества на количество дней в периоде планирования.
На фиг.3 проиллюстрирован набор входных файлов 300 согласно одному из вариантов осуществления настоящего изобретения. Как описано выше, входные файлы 300 могут описывать информацию, связанную с производственным оборудованием, с объемами производства, с прогнозами потребностей, с текущими издержками производства, с местами расположения заказчиков, с требованиями, предъявляемыми заказчиками, с распределительной сетью и с затратами на распределение продукции. Кроме того, как изложено выше, входные файлы могут быть сгенерированы в формате расширяемого языка гипертекстовой разметки (XML). Как показано на чертеже, входные файлы 300 могут содержать данные 305 о конфигурации, которые обеспечивают общую информацию о задаче оптимизации, например установочные параметры для оптимизатора, используемые методики оптимизации, установочные параметры для вывода и т.д. Данные 310 о производственном оборудовании могут содержать данные, связанные с производством товарного вещества. То есть данные 310 о производственном оборудовании могут описывать производственные аспекты задачи УЦП. Например, для производства жидкого кислорода и азота данные 310 о производственном оборудовании могут содержать сведения о размерах резервуара-хранилища, о производственных мощностях предприятия, о месте расположения производственного предприятия, о текущих запасах вещества, о количестве дней, необходимом для остановки производственного предприятия или для возобновления производства на нем, и о предельных значениях соотношений объемов производства различных веществ (то есть об относительном процентном отношении объема производства жидкого кислорода к объему производства жидкого азота на производственном предприятии). В более общем изложении, данные 310 о производственном оборудовании могут содержать любую информацию, связанную с производством товарного вещества в конкретном случае.
Данные 315 об установке и данные 320 о потребителе могут описывать информацию, относящуюся к аспектам распределения в задаче оптимизации производства и распределения. Например, данные об установке могут описывать размеры резервуара, текущие уровни запасов, ограничения по срокам поставки, а данные 320 о потребителе могут также описывать требования, предъявляемые к поставкам, обязательства по контрактам, данные о местоположении и т.д. В более общем изложении, данные 315 об установке и данные 320 о потребителе могут содержать любую информацию, связанную с потребителями товарного вещества в конкретном случае.
Данные 325 о складах и транспортировке могут описывать доступные ресурсы распределения, имеющиеся в наличии, которыми являются, например, водители, грузовики, автомобильные прицепы, вагоны, трубопроводы, и могут содержать любые другие соответствующие данные, связанные с транспортировкой и доставкой товарных веществ в конкретном случае.
На фиг.4 дополнительно проиллюстрированы компоненты системы 100 оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения. На фиг.4 проиллюстрирован вариант осуществления модуля 120 оптимизации, который содержит оптимизатор 122 распределения и оптимизатор 124 производства, а также модуль 405 координации оптимизации и модуль 410 моделирования/оценки. Показанные на чертеже стрелки иллюстрируют взаимодействие между модулями оптимизации во время цикла оптимизации.
В одном из вариантов осуществления изобретения модуль 405 координации оптимизации (МКО) координирует и интегрирует функции оптимизаторов 122, 124 и модуля 410 оценки. МКО 405 посылает вызов в оптимизатор 122 распределения и в оптимизатор 124 производства, а затем посылает в модуль 410 моделирования оптимизированные решения относительно производства и распределения, генерация которых осуществлена оптимизаторами 122 и 124. МКО возвращает результат из модуля 410 моделирования в модули оптимизации производства и распределения, создавая циклы обратной связи, используемые оптимизаторами 122 и 124 для оптимизации задачи УЦП. Таким образом, оптимизатор 124 производства и оптимизатор 122 распределения взаимодействуют друг с другом, оптимизируя как производственные аспекты, так и аспекты распределения в задаче УЦП.
Оптимизатор 122 распределения может быть сконфигурирован таким образом, что выполняет поиск высококачественных допустимых решений задачи распределения товарной продукции, которая может быть произведена множеством источников или получена из множества источников. Например, оптимизатор 122 распределения может быть сконфигурирован таким образом, что выполняет поиск решения задачи распределения сжиженного газа для потребителей. В одном из вариантов осуществления изобретения оптимизатор 122 распределения сконфигурирован таким образом, что выполняет алгоритм оптимизации, основанный на принципе «муравейника», представляющий собой методику оптимизации, в основе которой лежит поведение муравьев, добывающих пропитание. На чертежах фиг.7 - 9, описание которых приведено ниже, более подробно проиллюстрированы операции, выполняемые оптимизатором 122 распределения.
Оптимизатор 124 производства может быть сконфигурирован таким образом, что выполняет поиск высококачественных допустимых решений для производственной части задачи, считанной и обработанной модулем 115 ввода. В одном из вариантов осуществления изобретения оптимизатор 124 производства сконфигурирован таким образом, что выполняет генетический алгоритм, представляющий собой методику оптимизации, в качестве предпосылки к созданию которого послужила модель процесса биологической эволюции, для оптимизации производственных аспектов задачи производства и распределения.
Генетический алгоритм может функционировать путем видоизменения набора начальных решений (именуемых "совокупностью") согласно конкретным правилам мутации для создания нового "поколения" решений из текущей "совокупности". Обычному специалисту в данной области техники известно, что генетические алгоритмы обычно вызывают создание все более и более хороших решений из "совокупности" решений путем их скрещивания, путем их мутации и путем предоставления больших возможностей для создания потомства наилучшим элементам совокупности, чем наихудшим. Для оценки новых решений, сгенерированных в каждом поколении, используют целевую функцию для определения "пригодности" новых решений.
Этот процесс может продолжаться на протяжении тысяч поколений со следующей целью: совокупность должна "эволюционировать" таким образом, чтобы с течением времени она содержала лучшие решения. Генетический алгоритм представляет собой методику оптимизации, которую иногда именуют "эволюцией в компьютере".
На фиг.5 проиллюстрирован способ 500 оптимизации производственных аспектов задачи УЦП, предназначенный для оптимизатора 124 производства, согласно одному варианту осуществления настоящего изобретения. Способ 500 начинают с операции 505, при которой оптимизатор 124 производства определяет условия завершения, заданные входными файлами 300. Если определено более одного условия завершения, то цикл оптимизации может быть завершен в тот момент, когда выполнено любое из них. В одном из вариантов осуществления изобретения условиями завершения могут являться, в том числе, следующие условия: количество новых решений (или поколений) достигло максимального значения, количество затраченного времени достигло максимального значения или найдено решение, уровень качества которого превышает заданный уровень (то есть решение с высокой степенью пригодности). В дополнение к этому, модуль 205 интерфейса пользователя может предоставлять пользователю возможность останавливать цикл оптимизации вручную (например, путем ввода команды прерывания с клавиатуры). Хотя это условие и не содержится во входном файле 220, но модуль 405 координации оптимизации может периодически проверять выполнение этого условия во время цикла оптимизации.
При операции 510 оптимизатор 124 производства инициализирует цикл оптимизации. Эта операция может содержать, например, операцию создания областей кэш-памяти и структур данных, используемых оптимизатором 124 производства, операцию задания начальных значений объемов производства для производственных предприятий, операцию определения любых критических ограничений, которым, возможно, должно удовлетворять решение для того, чтобы оно было допустимым, и т.д. Например, в одном из вариантов осуществления изобретения, которое используют для оптимизации производства и распределения промышленных жидкостей, начальное состояние всех значений объема производства для оборудования и производственных предприятий может быть установлено с использованием значений, определенных входными файлами 300. Кроме того, во время инициализации оптимизатор 124 производства может определять ряд срочных заказов, то есть заказов на поставку продукции, которую необходимо доставить для того, чтобы не допустить уменьшения уровня жидкости в резервуаре-хранилище заказчика ниже безопасного уровня. В одном из вариантов осуществления изобретения срочные заказы могут использоваться для помощи в определении требуемых объемов производства для каждого производственного предприятия. Кроме того, как описано ниже, срочные заказы используются оптимизатором 122 распределения для генерации графика поставок. Само собой разумеется, что для оптимизации производства и распределения других веществ могут быть выполнены иные действия по инициализации.
При операции 515 оптимизатор 124 производства создает набор начальных решений для генетического алгоритма. Другими словами, оптимизатор 124 производства создает начальную "совокупность" решений для того, чтобы генетический алгоритм обеспечивал эволюцию путем видоизменения и селекции.
Для задачи УЦП, связанной с производством и распределением промышленных жидкостей, каждое решение может иметь структуру, показанную в таблице I:
Таблица I - Пример решения относительно производства
Часть 1: Перечень объемов производства для каждого производственного предприятия на каждый день периода оптимизации.
Часть 2: Перечень соотношений объемов производства различных веществ для каждого производственного предприятия на каждый день периода оптимизации.
Часть 3: Перечень оптовых партий продукции, перемещаемой между производственными предприятиями, в котором указан день каждого перемещения.
Перечень объемов производства для каждого производственного предприятия имеет значения для каждого дня, которые либо равны нулю (что отображает прекращение работы производственного предприятия), либо не выходят за пределы минимального и максимального объема производства для этого производственного предприятия. Перечень соотношений объемов производства различных веществ для каждого производственного предприятия представляет собой отношение общего объема производства жидкого азота (ЖА) к общему объему производства жидкого кислорода (ЖК) на производственном предприятии за конкретный день. Перечень объемов продукции, перемещаемой между производственными предприятиями, отображает физическое перемещение оптовых партий продукции в те дни, которые указаны в части 3.
В одном из вариантов осуществления изобретения оптимизатор 124 производства может осуществлять генерацию первой группы начальных решений (в виде, показанном в таблице I) на основании интеллектуальной эвристики. Обычно эвристика представляет собой эмпирическое правило, которое часто хорошо работает для получения желаемого результата, которым является, например, сокращение затрат при одновременном поддержании желаемого уровня производства. Эвристика часто основана на предшествующем опыте. Примером эвристики, используемой в системе УЦП, является, в том числе, следующий: "Если себестоимость продукции на первом производственном предприятии является более низкой, чем на втором производственном предприятии, включая расходы на транспортировку, и первое производственное предприятие имеет неиспользуемые производственные мощности, то предпринимают попытку перемещения заказа со второго производственного предприятия на первое".
Для генерации первой группы начальных решений оптимизатор 124 производства создает множество "интеллектуальных начальных решений" на основании эвристики генерации решения, подобной той эвристике, которую мог бы использовать человек. Например, первая группа решений может содержать решение, в котором для всех производственных предприятий установлены максимальные объемы производства, и может быть использована эвристика, заключающаяся в том, что производство на производственных предприятиях по очереди снижают (или прекращают) до тех пор, пока общий объем производства не упадет ниже требуемых минимальных значений. Другое "интеллектуальное начальное решение" может содержать решение, в котором прекращают производство на всех производственных предприятиях, а эвристика заключается в том, что производственные предприятия запускают по очереди до тех пор, пока не будет достигнут минимальный объем производства (например, сначала запускают производственное предприятие с наименьшей себестоимостью производства, а затем запускают производственное предприятие со второй по счету наименьшей себестоимостью производства и т.д.). Другое "интеллектуальное начальное решение" содержит решение, в котором объемы производства для производственных предприятий установлены в центре допустимого диапазона, поэтому последующие решения, полученные в результате "эволюции" этого интеллектуального начального решения, могут перемещать эти промежуточные значения объемов производства в сторону максимальных значений или в сторону минимальных значений. Кроме того, первая группа может содержать группу решений, определенных входными файлами 300, при их наличии. Это дает пользователю возможность вводить в оптимизатор 124 производства такие типовые решения, которые отличаются от интеллектуальных начальных решений, описание которых приведено выше. Например, график производственного процесса, который использовался в предыдущий день, может являться полезной начальной точкой для оптимизации на следующий день.
В дополнение к первой группе начальных решений оптимизатор 510 производства может также осуществлять генерацию второй группы решений (удовлетворяющих ограничениям, определенным во входных файлах 300) по случайному закону для создания начальной совокупности решения. Эта совокупность решений обеспечивает большую часть разнообразия, которое позволяет генетическому алгоритму исследовать широкое разнообразие решений на протяжении ранних поколений процедуры оптимизации.
При операции 520 оптимизатор 124 производства осуществляет генерацию новых решений. Как указано в одном из вариантов осуществления изобретения, модуль поиска решения сконфигурирован таким образом, что создает новые решения путем выполнения генетического алгоритма с использованием совокупности начальных решений, сгенерированных при операции 520. Обычно предполагают, что генетический алгоритм функционирует таким образом, что обеспечивает "эволюцию" совокупности начальных решений на протяжении более чем многих тысяч поколений, осуществляя генерацию новой совокупности в каждом поколении. На чертеже фиг.6, описание которого приведено ниже, подробно проиллюстрирован вариант осуществления действий, выполняемых как часть операции 520. После того, как операция 520 завершена, оптимизатор 124 производства обычно имеет множество сгенерированных решений. При операции 525 определяют решение, являющееся наилучшим в совокупности на текущий момент времени (которое вычислено согласно описанной выше формуле), и выполняют его обработку.
В одном из вариантов осуществления изобретения решение, определенное как наилучшее решение, может быть передано в подпрограммы дополнительной оптимизации. Например, в одном из вариантов осуществления изобретения, который используют для оптимизации производства и распределения промышленных жидкостей, оптимизатор 124 производства может быть видоизменен таким образом, что при каждой возможности выполняется последовательность быстрых проверок для улучшения решения, определенного при операции 525. Такая последующая обработка наилучшего найденного решения может содержать операцию сокращения производства на тех производственных предприятиях, которые имеют избыток продукции, или, наоборот, операцию увеличения производства на тех производственных предприятиях, на которых уровни жидкости в резервуарах находятся ниже минимальных уровней. Дополнительный пример включает в себя возврат неиспользованных объемов перемещенной продукции. Перемещенные объемы продукции, которые не были использованы производственным предприятием в пункте назначения, возвращают на исходное производственное предприятие, поэтому окончательное решение включает в себя только лишь необходимый объем перемещаемой продукции (таким образом, обеспечивают экономию затрат на транспортировку, что снижает стоимость всего решения).
При операции 530, после "эволюции" начальной совокупности решений на протяжении нескольких поколений, оптимизатор 124 производства возвращает наилучшее решение, имеющееся в его совокупности, в модуль 405 координации.
На фиг.6 проиллюстрирован способ 600 оптимизации производственных аспектов задачи УЦП согласно одному из вариантов осуществления настоящего изобретения. В одном из вариантов осуществления изобретения для того, чтобы найти высококачественное решение задачи УЦП, способ 600 может выполняться многократно, в стандартном цикле оптимизации - десятки тысяч раз. Во время каждого однократного выполнения способа 600 оптимизатор 124 производства осуществляет генерацию, по меньшей мере, одного нового решения из набора решений, имеющихся в совокупности на текущий момент времени. Начальная совокупность может быть создана как часть описанного выше способа 500.
При операции 605 производят выбор способа видоизменения решения. В классическом генетическом алгоритме способы видоизменения решения являются случайными по своей сущности, например в них можно изменять объем производства производственного предприятия случайным образом на некоторую малую величину. Поиск лучших решений посредством случайных изменений часто не является столь быстрым или эффективным, как поиск с направленной эвристикой. В то же самое время, случайные мутации могут определять новые высококачественные решения, не найденные посредством направленной эвристики. Соответственно, в одном из вариантов осуществления настоящего изобретения оптимизатор 124 производства может быть сконфигурирован таким образом, что для видоизменения решения он производит выбор из нескольких неэвристических (то есть случайных) и эвристических (то есть неслучайных) методик, в том числе из следующих методик.
- Случайное изменение. В этой методике видоизменения осуществляют генерацию случайной мутации одного параметра в решении.
- Перемещение производства. В этой методике видоизменения производство перемещают из того производственного предприятия, где производство является дорогостоящим, в то производственное предприятие, где оно является более дешевым. Это видоизменение включает в себя увеличение производства на том производственном предприятии, на котором производство является менее дорогостоящим, и сокращение производства на том производственном предприятии, на котором производство является более дорогостоящим. Модификатор "перемещение производства" учитывает текущие значения себестоимости продукции и влияние перемещения производства на оба задействованных производственных предприятия. Если бы эта информация не была учтена при генерации кандидатов на перемещение производства, то модификатор мог бы переместить производство с производственного оборудования, имеющего низкую себестоимость продукции, на то производственное оборудование, которое имеет более высокую себестоимость продукции; при этом существует очень высокая вероятность того, что это перемещение приведет к увеличению общих производственных издержек.
- Сокращение производства. В этой методике видоизменения находят те производственные предприятия, которые потенциально производят избыточный объем продукции, выбирают одно такое производственное предприятие посредством процедуры принятия решения на вероятностной основе и сокращают объем производства на этом производственном предприятии на величину, которая получена на вероятностной основе (например, вероятность сокращения объема производства на тех производственных предприятиях, которые имеют более высокие издержки производства, является более высокой, чем вероятность сокращения объема производства на тех производственных предприятиях, которые имеют менее высокие издержки производства).
- Изменение соотношения объемов производства различных веществ. В этой методике видоизменения производят поиск такого решения, в котором могло бы быть улучшено соотношение объемов производства различных веществ для некоторого производственного предприятия. В нем изменяют соотношение объемов производства различных веществ для этого производственного предприятия. Эта методика видоизменения является полезной в варианте осуществления изобретения, используемом для оптимизации производства и распределения промышленных жидкостей, когда производственное предприятие может изменять соотношение производственных мощностей при производстве различных веществ.
- Изменение объема производства. В этой методике видоизменения производят поиск такого решения, в котором мог бы быть изменен объем производства для улучшения оценки решения.
- Прекращение работы производственного предприятия. В этой методике видоизменения производят поиск решений, содержащих такие производственные предприятия, которые могли бы быть с пользой отключены, и на вероятностной основе производят выбор того предприятия, работу которого следует прекратить. В этой методике используют часть эвристики, которую человек, являющийся экспертом по производству, использовал бы для принятия решения о том, какие именно производственные предприятия являются кандидатами на остановку производства (например, вероятность прекращения работы того производственного предприятия, которое имеет более высокие издержки производства, является более высокой, чем вероятность прекращения работы того производственного предприятия, которое имеет менее высокие издержки производства).
- Возобновление работы производственного предприятия. В этой методике видоизменения производят поиск решений, содержащих бездействующие производственные предприятия, работа которых могла бы быть с выгодой возобновлена. В этой методике производят выбор одного предприятия на вероятностной основе и возобновляют его работу для создания нового решения. В этой методике используют часть эвристики, которую человек, являющийся экспертом по производству, использовал бы для принятия решения о том, какие именно производственные предприятия являются кандидатами на возобновление работы (например, вероятность возобновления работы того производственного предприятия, которое имеет более высокие издержки производства, является менее высокой, чем вероятность возобновления работы того производственного предприятия, которое имеет менее высокие издержки производства).
- Добавление перемещения оптовых партий продукции. В этой методике видоизменения исследуют график, созданный в соответствии с решением, и определяют то, где именно добавление перемещения оптовых партий продукции могло бы привести к улучшению оценки этого решения. Эвристика не добавляет перемещение оптовых партий продукции, увеличивающее общие издержки производства.
- Устранение перемещения оптовых партий продукции. В этой методике видоизменения исследуют график, созданный в соответствии с решением, и определяют то, где именно устранение перемещения оптовых партий продукции могло бы привести к улучшению оценки этого решения. Эвристика не устраняет перемещение оптовых партий продукции в том случае, если это устранение увеличивает общие издержки производства.
Влияние наличия нескольких интеллектуальных эвристик, пригодных для видоизменения решения, имеющегося в совокупности на текущий момент времени, состоит в том, что любая из этих методик имеет шанс быть выбранной в любом цикле выполнения способа 600, и, следовательно, отсутствует зависимость от какой-либо одной методики. Вместо этого, имеется совокупность решений, для любого из которых может быть применена любая методика видоизменения в попытке его улучшения. Путем конфигурирования оптимизатора 124 производства таким образом, что он учитывает сотни тысяч этих применений наряду с включением эвристики, заданной человеком-экспертом в состав набора методик видоизменения, которые могут быть применены, во время цикла оптимизации обычно происходит мощный поиск области возможных решений. Таким образом, цикл оптимизации имеет высокую вероятность сходимости к высокоэффективным решениям задачи оптимизации производства.
В одном из вариантов осуществления изобретения во время прохода через этот цикл оптимизации может быть выбрана любая из этих (или иных) методик. В дополнение к этому, выбор методик видоизменения может быть произведен на вероятностной основе с использованием значений вероятности, заданных по умолчанию, или с использованием значений вероятности, указанных во входных файлах 220. Таким образом, несмотря на то, что шанс быть выбранной имеет любая методика видоизменения, некоторые методики могут иметь более высокие значения вероятности, чем другие методики. Задание значений вероятности является вопросом, зависящим от экспериментальных данных и от анализа типов решений, создаваемых оптимизатором для данного трубопровода.
При операции 610 из текущей совокупности решений выбирают одно или большее количество решений для их видоизменения согласно методике видоизменения, выбранной при операции 605. После того, как способ видоизменения выбран, определяют, какое количество решений - одно или два - требуется в качестве входных данных. В большинстве описанных выше методик видоизменения требуется только одно решение, но, например, для видоизменения путем скрещивания требуются два решения.
В одном из вариантов осуществления изобретения решения из общей совокупности решений выбирают с использованием методик, иногда именуемых способом "колесо рулетки с упорядочением". Эту методику называют "с упорядочением", поскольку в ней выполняют сортировку решений из совокупности решений в виде перечня, упорядоченного начиная с наилучшего решения и заканчивая наихудшим решением. Затем в этой методике каждому решению из перечня присваивают весовой коэффициент. Эти весовые коэффициенты уменьшаются по линейному закону. Например, при коэффициенте уменьшения, равном 10, и начальном весовом коэффициенте, равном 100, первые 12 элементов совокупности имеют следующие весовые коэффициенты: 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 1, 0.5, …. Эти весовые коэффициенты используют для оказания воздействия на процедуру выбора таким образом, чтобы вероятность выбора наилучших отдельных решений была более высокой, чем вероятность выбора наихудших решений. Метафорой является колесо рулетки с сектором для каждого элемента совокупности. Однако эти секторы имеют неодинаковый размер. Размер сектора для каждого решения является пропорциональным его весовому коэффициенту, вычисленному так, как описано выше. Когда колесо рулетки настроено таким способом, то пускают по кругу компьютеризированный шар и выбирают то отдельное решение, в сектор которого попал шар. Когда необходимо выбрать решение, то вероятность выбора наилучшего отдельного решения из совокупности, имеющего весовой коэффициент и размер сектора, равные 100, является в 100 раз более высокой, чем вероятность выбора наихудшего отдельного решения, имеющего весовой коэффициент и размер сектора, равные 1.
При операции 615 выбранную методику видоизменения решения используют для создания нового решения. То есть методику видоизменения используют для генерации нового решения из исходного решения. Некоторые из видоизменений могут быть очень малыми, например незначительное изменение объема производства на одном производственном предприятии. А некоторые из видоизменений могут быть весьма существенными, например прекращение работы производственного предприятия на несколько дней.
При операции 620 модуль 410 моделирования может выполнять моделирование графика, созданного из нового решения. Как правило, решение относительно производства, генерация которого осуществлена оптимизатором 124 производства, преобразовывают в график, который также включает в себя график распределения произведенной товарной продукции. При операции 625 производят оценку качества (или пригодности) смоделированного графика. Например, модуль 410 моделирования может быть сконфигурирован таким образом, что вычисляет общие затраты на производство и распределение продукции согласно графику. Ниже приведено подробное описание примера уравнения пригодности, используемого для оценки объединенного решения относительно производства/распределения, для варианта осуществления настоящего изобретения, связанного с производством и распределением промышленных жидкостей. При операции 630 новое решение может быть введено в состав совокупности. В одном из вариантов осуществления изобретения оптимизатор производства сохраняет ранжированный порядок решений из совокупности, которые упорядочены в соответствии с пригодностью каждого решения. Следовательно, новое решение, генерация которого осуществлена в цикле способа 600, размещают в совокупности в соответствии с количественным показателем его пригодности.
При операции 630 наихудший (то есть наименее пригодный) элемент совокупности удаляют из этой совокупности. Таким образом, во время процедуры оптимизации размер совокупности может оставаться постоянным. При операции 635 оптимизатор 124 производства определяет, выполнено ли какое-либо из условий завершения. Если оно выполнено, то процедуру оптимизации завершают и управление возвращают к операции 525 способа 500. В противном случае способ 600 повторяют для создания другого нового решения (то есть совокупность проходит через еще одно поколение).
На чертежах фиг.7 - 9 проиллюстрированы операции, выполняемые оптимизатором распределения согласно одному из вариантов осуществления настоящего изобретения. Как изложено выше, в одном из вариантов осуществления изобретения, оптимизатор 124 распределения может быть сконфигурирован таким образом, что использует методику оптимизации, основанную на принципе «муравейника».
В основе принципа действия оптимизаторов, основанного на принципе «муравейника», лежат способы, происходящие в природе, посредством которых муравьи, добывающие пропитание, находят пищу, привлекают других муравьев к источнику пищи, сокращают пути, чтобы добраться до пищи из гнезда и перестают проходить по этим путям, когда источник пищи истощается. При поиске пищи муравьи сначала блуждают по случайному закону, а после обнаружения пищи возвращаются в свой муравейник, оставляя следы феромона. Когда муравей натыкается на существующий след феромона, то маловероятно, что он продолжит перемещаться случайным образом, а вместо этого он идет по следу, возвращаясь и усиливая след в том случае, если он в конечном счете находит пищу. С течением времени следы феромона испаряются, уменьшая его притягательную силу. Чем большее количество времени требуется муравью для прохождения пути туда и обратно, тем больше времени остается для испарения феромона. И, наоборот, короткий путь он проходит быстрее, и, следовательно, плотность феромона остается высокой. Результатом этого является следующее: когда один муравей находит хороший (то есть короткий) путь из муравейника к источнику пищи, то другие муравьи с большей вероятностью будут идти по этому пути, и, в конечном счете, положительная обратная связь приводит к тому, что все муравьи идут по одному пути. Оптимизатор, основанный на принципе муравейника, использует "смоделированных муравьев", перемещающихся по графику, отображающему задачу, которую нужно решить для того, чтобы найти оптимизированное решение.
На фиг.7 проиллюстрирован способ 700, предназначенный для выполнения оптимизатором 122 распределения методики оптимизации, основанной на принципе «муравейника», согласно одному из вариантов осуществления настоящего изобретения. При операции 705 оптимизатор 122 распределения может быть сконфигурирован таким образом, что инициализирует выполнение алгоритма, основанного на принципе «муравейника», для поиска решений относительно распределения, связанных с решением относительно производства, генерация которого осуществлена с использованием оптимизатора 124 производства. В одном из вариантов осуществления изобретения оптимизатор 122 распределения может быть сконфигурирован таким образом, чтобы инициировать процедуру оптимизации путем создания вектора весовых коэффициентов, отображающего каждое производственное предприятие, и вектора для каждой установки. Эти весовые коэффициенты используют для отображения уровней концентрации феромона, которые являются характерной особенностью муравьиных систем. Они оказывают влияние на прокладку маршрутов от одной установки до другой, и они оказывают влияние на степень вероятности, с которой предложение от производственного предприятия на поставку продукции в установку будет выбрано в качестве выигравшего предложения (более подробное описание предложений производственных предприятий приведено ниже со ссылкой на фиг.9). В таблице II показан пример каждого из этих двух векторов.
Таблица II - Пример векторов с весовыми коэффициентами феромона
Вектор весового коэффициента производственного предприятия
<5, 0.5, 2.6, 4.3, 0.9 >
Вектор установки
<1.2, 3.4, 5, 1, 0, 0, 0 >
Первый вектор представляет собой пример вектора производственного предприятия. Он показывает, насколько важной оптимизатор 122 распределения считает необходимость отправки продукции из производственного предприятия, с которым связан этот вектор, в различные установки. В этом примере весовые коэффициенты вектора показывают, что для этого производственного предприятия предпочтительна продукции в первую и в четвертую установки из перечня и не предпочтительна отправка продукции во вторую и в пятую установки из перечня. Второй вектор представляет собой пример вектора установки. Этот вектор показывает, насколько выгодной оптимизатор 122 распределения считает необходимость перемещения производства из этой установки в другие соседние установки в том случае, когда объем поставки продукции в эту установку является меньшим, чем объем груза, перевозимого одним грузовым автомобилем. В примере вектора, показанного в таблице II, для оптимизатора 122 распределения предпочтительной является поставка в третью установку. В то же самое время, вектор запрещает поставку в пятую, в шестую или в седьмую соседние установки. В расширительном толковании оптимизатор 122 распределения функционирует таким образом, что изменяет весовые коэффициенты в этих векторах, осуществляя генерацию набора маршрутов доставки на основании предложений о поставке продукции, сделанных производственными предприятиями.
Возвращаясь к способу 700, проиллюстрированному на фиг.7, оптимизатор 122 распределения может быть сконфигурирован таким образом, что после того, как при операции 710 выполнена инициализация оптимизатора 122 распределения с использованием конкретного решения относительно производства, он многократно выполняет процедуру генерации маршрута до тех пор, пока не будет выполнено условие завершения.
На фиг.8 проиллюстрирован способ 800, в котором показаны операции, выполняемые оптимизатором 122 распределения, согласно одному из вариантов осуществления настоящего изобретения. В этом примере оптимизатор 122 распределения сконфигурирован таким образом, что оптимизирует распределение промышленных жидкостей, которые могут быть произведены во множестве мест производства и поданы из этого множества мест производства. Способ 800 начинается с операции 805, при которой устанавливают начальные значения весовых коэффициентов для векторов весовых коэффициентов производственных предприятий и векторов установок. Например, начальные значения векторов весовых коэффициентов могут быть установлены равными набору начальных значений с некоторым введенным смещением для того, чтобы производственные предприятия, которые физически являются более близкими к предлагающему цену производственному предприятию, имели более высокие весовые коэффициенты, чем весовые коэффициенты производственных предприятий, которые расположены далеко от него. Кроме того, из входных файлов 300 считывают сведения об ограничениях, например сведения о днях недели или о времени суток, когда установка может получить поставку. При операции 810 оптимизатор 122 распределения осуществляет генерацию маршрутов на основании текущих векторов и сведений о производственном оборудовании. Пример процедуры генерации маршрута, которая может быть выполнена как часть операции 805, проиллюстрирован на чертеже фиг.9, описание которого приведено ниже.
Оптимизатор 122 распределения может быть сконфигурирован таким образом, что после операции генерации графика поставок он определяет, следует ли ему завершить выполняемый цикл оптимизации (операция 815). В одном из вариантов осуществления изобретения модуль 405 координации оптимизации считывает условия завершения во время этапа инициализации и передает их в оптимизатор 122 распределения. Оптимизатор 122 распределения может быть сконфигурирован таким образом, что для каждого решения, сгенерированного посредством генетического алгоритма, он создает фиксированное количество маршрутов и возвращает наилучший маршрут. Например, оптимизатор 122 распределения может быть сконфигурирован таким образом, что осуществляет генерацию трех графиков поставок и возвращает наилучший. Однако цикл оптимизации может быть сконфигурирован таким образом, что определение количества возвращаемых графиков является его частью, причем это количество определяют, помимо прочего, на основании решаемой задачи оптимизации и количества времени, имеющегося для выполнения цикла оптимизации. После того, как осуществлена генерация желательного количество маршрутов, алгоритм возвращает свое наилучшее решение в модуль 405 координации оптимизации.
При операции 810 оптимизатор 122 распределения определяет, следует ли изменить весовые коэффициенты в векторах весовых коэффициентов производственных предприятий. В одном из вариантов осуществления изобретения оптимизатор 122 распределения изменяет весовые коэффициенты в том случае, если им только что создано решение, являющееся лучшим, чем какое-либо из ранее созданных решений. Оптимизатор распределения может быть сконфигурирован таким образом, что для изменения весовых коэффициентов (операция 825) он сначала уменьшает каждый весовой коэффициент в каждом векторе весовых коэффициентов на величину, указанную во входных файлах 300. Оптимизатор 122 распределения суммирует уменьшения весовых коэффициентов, которые произошли в результате этого уменьшения. Затем он распределяет эти весовые коэффициенты по компонентам наилучшего решения, которое было найдено до текущего момента времени (усиливая "след феромона" наилучшего решения). Другими словами, весовые коэффициенты могут быть изменены таким образом, что вызывают постепенное вымирание весовых коэффициентов для неэффективных решений, постепенно усиливая весовые коэффициенты для эффективных решений. Цикл операций 815-825 может быть повторен до тех пор, пока не будут выполнены условия завершения (операция 815), а наилучшее решение, определенное оптимизатором 122 распределения, будет возвращено (операция 830).
На фиг.9 проиллюстрирован способ 900, предназначенный для генерации графика поставок оптимизатором распределения с использованием методики оптимизации, основанной на принципе «муравейника», согласно одному из вариантов осуществления настоящего изобретения. Как показано на чертеже, способ 900 обеспечивает генерацию и оптимизацию маршрутов поставки для доставки промышленных жидкостей в группу установок. Соответственно, операции, проиллюстрированные в способе 900, приспособлены для планирования распределения и поставок этого типа товарной продукции. Однако специалистам в данной области техники понятно, что варианты осуществления настоящего изобретения могут быть приспособлены для генерации и оптимизации графика поставок для множества веществ. Способ 900 начинают с операции 905, при которой оптимизатор 122 распределения определяет наличие установки, требующей срочной поставки. То есть оптимизатор 122 распределения определяет, имеются ли еще какие-либо установки, для которых необходимо создать маршрут поставки. Например, в случае промышленных жидкостей может отсутствовать необходимость в поставке до тех пор, пока спрогнозированный объем жидкости в резервуаре в установке не упадет ниже определенного уровня. В противном случае выполнение алгоритма завершают, так как посредством этого алгоритма были найдены все маршруты, которые он был способен найти в этом цикле прокладки маршрута.
Если имеется установка, требующая срочной поставки, то при операции 910 оптимизатор распределения выбирает установку, поставку в которую необходимо запланировать. Как правило, график поставок может предоставлять сведения об источнике (предприятие, производящее продукцию), пункте назначения (установка), объеме поставки, времени доставки и способе доставки (например, грузовик, железнодорожный вагон, трубопровод). Однако конкретные элементы поставки могут изменяться в зависимости от оптимизируемой задачи УЦП.
приоритет установки
приоритет установки
В различных вариантах осуществления изобретения для выбора из группы установок может быть использовано множество способов. Например, одним из способов является процедура выбора посредством колеса рулетки. Процедуры выбора посредством колеса рулетки описаны выше при описании генетического алгоритма. При использовании этого способа размер сектора для каждой установки на колесе рулетки равен: ( + 1)/вместимость. При использовании процедуры выбора посредством колеса рулетки существует более высокая вероятность того, что поставка для установок с более высоким приоритетом будет запланирована согласно графику перед поставкой для установок с более низким приоритетом. В то же самое время, чем ниже вместимость резервуара установки, тем выше вероятность того, что она будет выбрана. Второй процедурой является процедура, основанная на поглощающем алгоритме, которая производит выбор любой установки, имеющей самое высокое значение (+ 1)/вместимость. Другими словами, процедура, основанная на поглощающем алгоритме, выбирает установку с самой высокой вероятностью того, что она будет выбрана процедурой выбора посредством колеса рулетки. Другим возможным вариантом является равнослучайная процедура, в которой каждая из различных установок имеет одинаковую вероятность ее выбора.
стоимость доставки
себестоимость
При операции 915 каждое производственное предприятие создает предложение по обслуживанию установки, выбранной при операции 910. В одном из вариантов осуществления изобретения производственное предприятие вносит предложение о поставке на основании вычисления следующей величины: (1/( + )). Таким образом, производственные предприятия с более низкими суммарными издержками по доставке и производству создают более выгодные предложения, чем производственные предприятия с более высокими суммарными издержками по доставке и производству. Если производственное предприятие имеет недостаточные материально-производственные запасы для выполнения заказа, то оно не подает предложение. При операции 920 оптимизатор 122 распределения может определить, имеется ли в наборе предложений, сделанных производственными предприятиями, по меньшей мере, одно предложение, затем производят выбор предложения и в алгоритме переходят далее к выполнению операции определения маршрутов. В одном из вариантов осуществления изобретения принятое предложение может быть выбрано с использованием одной из трех процедур.
Чаще всего используемой является процедура выбора посредством колеса рулетки. Процедуры выбора посредством колеса рулетки описаны выше при описании генетического алгоритма. В одном из вариантов осуществления изобретения секторы колеса рулетки могут быть определены с использованием процедуры ранжирования, которая ранжирует качество маршрута доставки от используемого производственного предприятия, делающего предложение, до установки. Например, размер сектора для каждого предложения в колесе рулетки может быть равным "весовому коэффициенту феромона" в векторе весовых коэффициентов, который отображает след от производственного предприятия, делающего предложение, до установки (возведенному в степень), плюс урегулированное значение предложения, возведенное в степень. Другими словами, вероятность выбираемого предложения является прямо пропорциональной весовому коэффициенту феромона данного следа. В одном из вариантов осуществления изобретения показатели степени в этом уравнении считывают из входных файлов, и они могут иметь значение, заданное по умолчанию, равное 2.0. Изменение показателя степени может увеличивать или уменьшать силу "следов феромонов", оставленных другими маршрутами. Во второй процедуре, основанной на "поглощающем" алгоритме, выбирают то предложение, которое имеет самое высокое значение вероятности, вычисленной с использованием процедуры выбора посредством колеса рулетки. В третьей возможной процедуре предложение может быть выбрано по случайному закону из различных предложений. В одном из вариантов осуществления изобретения, когда оптимизатор 122 распределения осуществляет генерацию маршрутов, то он осуществляет генерацию одного набора маршрутов с использованием процедуры, основанной на поглощающем алгоритме, другого набора маршрутов с использованием случайной процедуры и дополнительных маршрутов с использованием процедуры выбора посредством колеса рулетки.
Если предложения по обслуживанию установки, выбранной при операции 910, отсутствуют, то выполняют операцию 925, при которой показание счетчика попыток поиска предложений увеличивают на единицу, чтобы отразить то количество раз, которое оптимизатор 122 распределения пытался найти предложения для этой установки. В одном из вариантов осуществления изобретения установка имеет три шанса при приеме предложения на поставку, и после этого установку помещают в перечень пропущенных установок (операции 930 и 935). Если это количество является меньшим чем 3, то установку помещают обратно в перечень установок, требующих срочной поставки, и она может быть выбрана снова при другой итерации операции 905. Может оказаться, что если на текущий момент времени отсутствуют какие-либо предложения для одной установки, то при повторной обработке данных об этой установке предложения не смогут появиться. Однако поставка продукции в эту установку является вторичной по отношению к поставке, запланированной для другой установки, то для этой установки может потребоваться меньшее количество продукции, и предложение может стать возможным.
Если же при операции 920 предложение выбрано, то выполняют операцию 940, при которой оптимизатор 122 распределения создает маршрут из исходного производственного предприятия, предложение которого принято, в установку и отмечает расстояние и время маршрута. В одном из вариантов осуществления изобретения значения времени прохождения по маршруту могут быть определены с использованием фиксированной скорости перемещения, которой обычно является средняя скорость, полученная из предыстории, данные о которой введены в виде части входных файлов 300. Однако могут использоваться и другие способы.
Оптимизатор 122 распределения может быть сконфигурирован таким образом, что если при выполнении операции 945 определено, что объем поставки в установку является меньшим, чем максимально возможный объем поставки, то он определяет, могут ли быть добавлены к маршруту, который создают в текущий момент времени, какие-либо соседние места, где находятся потребители. Например, для распределения промышленных жидкостей в том случае, если емкость резервуара заказчика, которому производят доставку, вмещает меньше вещества, чем объем груза, перевозимого одним грузовым автомобилем, то оптимизатор 122 распределения определяет, имеются ли какие-либо иные потенциально возможные места доставки в пределах определенного радиуса от установки. Этот радиус может быть представлен в виде параметра, содержащегося во входных файлах 300. Если в пределах этого радиуса имеется другое место, где находится заказчик, который может взять остаток продукции, имеющейся в грузовике, даже в том случае, если состояние установки, расположенной в этом месте, не является более низким, чем тот пороговый уровень, при котором ее помещают в перечень установок, требующих срочной поставки, то это место вводят в маршрут самым экономичным способом, который учитывает ограничения на срок поставки (операция 950). Если несрочная доставка может быть принята во множестве мест, то сила связи (то есть следы феромона, содержащиеся в векторе установки) между текущим местом расположения и потенциально возможными местами расположения определяет следующее место захода. Если после этой процедуры в грузовике остается продукция, то операции 945 и 950 могут быть повторены до тех пор, пока грузовик не будет пуст или до тех пор, пока больше не останется каких-либо возможных мест доставки, которые могут быть рассмотрены, и в этот момент оптимизатор 122 распределения завершает генерацию текущего маршрута (операция 955).
Как описано выше, оптимизатор производства может быть сконфигурирован таким образом, что оптимизирует график производственного процесса, а оптимизатор распределения может быть сконфигурирован таким образом, что определяет оптимальный график распределения на основании требований заказчика и конкретного решения относительно производства. Модуль 410 моделирования может быть сконфигурирован таким образом, чтобы вычислять влияние графика, заданного в виде введенного графика производственного процесса, созданного оптимизатором 124 производства, и введенного графика распределения, созданного оптимизатором 122 распределения. Кроме того, в одном из вариантов осуществления изобретения модуль 410 моделирования графика может быть сконфигурирован таким образом, что "исправляет" эти графики во время моделирования в том случае, если они приводят к наличию невыполненных заказов, которые могут быть выполнены путем увеличения объемов производства на конкретном производственном предприятии. Другими словами, если оказывается, что конкретные графики производства и распределения являются близкими к выполнению всех заказов, то решение может быть видоизменено путем определения наилучшего производственного предприятия, которое может обеспечить поставку продукции в установку, и путем повышения объема производства на этом производственном предприятии (если это возможно) для выполнения невыполненных заказов.
Модуль 410 моделирования может быть дополнительно сконфигурирован таким образом, чтобы вычислять количественный показатель оценки (то есть пригодность) решения относительно производства/распределения. В изложенной ниже части описания приведен пример вычисления количественного показателя оценки решения относительно производства/распределения для варианта осуществления изобретения, используемого для оптимизации производства и распределения промышленных жидкостей. Само собой разумеется, что для задач УЦП, связанных с другими товарными веществами, способ вычисления количественного показателя пригодности может быть иным. Сначала модуль 410 моделирования вычисляет стоимость выполнения стратегии решения. Примером функции стоимости, пригодной для задачи УЦП, связанной с промышленными жидкостями, является следующий:
стоимость = стоимость_доставки +
суммарные_издержки_производства +
стоимость_перемещения_оптовых_партий_продукции +
штраф_за_несоблюдение_условий_"красной_черты" +
штраф_за_пропущенные_установки.
Этот исходный количественный показатель может быть использован для определения нормированного значения пригодности в интервале от 0.0 до 1.0 путем вычисления обратной величины от исходного количественного показателя "стоимость", равной:
пригодность = 1/(стоимость).
Таким образом, при увеличении исходного количественного показателя стоимости пригодность решения уменьшается.
В одном из вариантов осуществления изобретения переменные в функции стоимости могут быть вычислены следующим образом:
стоимость_доставки = общие_затраты_на_распределение +
штраф_за_преждевременную_доставку (если она произведена).
То есть стоимость доставки может добавлять к общей стоимости решения штрафы за преждевременную доставку (например, для того, чтобы освободить грузовик, в качестве части операций 945 и 950 способа 900), суммарные_издержки_производства могут быть вычислены путем суммирования издержек производства по всему оборудованию, используя их конкретные затраты за энергоснабжение, издержки производства и т.д., стоимость_перемещения_оптовых_партий_продукции может быть вычислена путем суммирования общей стоимости всех перемещений оптовых партий продукции в системе. А затраты на перемещение каждой оптовой партии продукции могут быть вычислены как произведение количества миль, на которое требуется переместить оптовые партии продукции, на постоянный коэффициент. Постоянный коэффициент может представлять собой среднюю величину затрат на перемещение оптовых партий продукции в течение установленного срока, за который происходит перемещение оптовых партий продукции. В одном из вариантов осуществления изобретения некоторые установки заказчиков могут иметь "минимум красной черты", указывающий минимальное количество вещества, которое всегда должно иметься в данной установке. Штраф за несоблюдение условий "красной черты" может быть вычислен следующим образом:
штраф_за_несоблюдение_условий_"красной_черты" =
объем_недоставленной_продукции,_вызвавший_
нарушение_условий_"красной_черты"_ ,*
штраф_за_нарушение_условий_"красной_черты",
где штраф за нарушение условий "красной черты" равен постоянной величине для каждого устройства, заданной пользователем во входных файлах 300.
Штраф за пропущенные установки представляет собой штраф за пропущенные заказы. Его вычисляют следующим образом:
штраф_за_пропущенные_установки =
коэффициент_срочности_"дельта"*
(количество_пропущенных_ранее_срочных_поставок_
_с_присвоенными_весовыми_коэффициентами +
количество_срочных_поставок)*
штраф_за_пропущенную_установку.
В этом уравнении коэффициент срочности "дельта" представляет собой глобальную константу, заданную пользователем. Переменная "количество_пропущенных_ранее_срочных_поставок_с_ _присвоенными_весовыми_коэффициентами" представляет собой количество пропущенных ранее срочных поставок с присвоенными весовыми коэффициентами. Ее вычисляют следующим образом для спрогнозированного спроса:
количество_пропущенных_ранее_срочных_поставок_
_с_присвоенными_весовыми_коэффициентами =
количество_случаев_уменьшения_допустимого_запаса_ниже_
_минимального_безопасного_уровня*
(коэффициент_ежедневного_вклада(день) +
приоритет_установки) +
количество_заказов_неудовлетворенного_спроса*
постоянный_коэффициент.
В этом уравнении параметр "количество случаев уменьшения допустимого запаса ниже минимального безопасного уровня" равен тому количеству раз, которое в этой установке имело место уменьшение допустимого запаса в резервуарах ниже минимального безопасного уровня в течение периода, предусмотренного графиком; параметр "коэффициент вклада" берут из вектора значений, больших или равных 0.0, которые отображают более существенную важность дней, ближайших к крайнему сроку поставки, в окне планирования; параметр "приоритет установки" представляет собой признак установки, считываемый на этапе ввода данных; параметр "количество заказов неудовлетворенного спроса" равен количеству неудовлетворенных заказов; а параметр "постоянный коэффициент" равен сумме коэффициента ежедневного вклада в течение рассматриваемого дня, константы, представляющей собой вклад в сумму каждого заказа, на который имеется спрос, и приоритета установки.
Для поставок по запросу (то есть для незапланированных заказов) переменная "количество_пропущенных_ранее_срочных_ _поставок_с_присвоенными_весовыми_коэффициентами" может быть вычислена следующим образом:
количество_пропущенных_ранее_срочных__поставок_
_с_присвоенными_весовыми_коэффициентами =
количество_заказов_неудовлетворенного_спроса*
постоянный_коэффициент.
Наконец, может быть вычислена переменная "количество_срочных_поставок" (как для спрогнозированного спроса, так и для поставок по запросу) следующим образом.
Для спрогнозированного спроса (то есть для запланированных или ожидаемых заказов):
количество_срочных_поставок =
количество_случаев_уменьшения_допустимого_запаса_ниже_
_минимального_безопасного_уровня +
количество_заказов_неудовлетворенного_спроса.
Для поставок по запросу:
количество_срочных_поставок =
количество_заказов_неудовлетворенного_спроса.
Как правило, вышеописанные параметры функции стоимости стремятся обеспечить достижение перечисленных ниже целей в порядке убывания по важности:
- удовлетворение спроса на день 0 и день 1,
- удовлетворение требований спроса по заказам,
- удовлетворение потребностей установки с наивысшим приоритетом,
- нахождение решения, обеспечивающего самые низкие затраты, включая штрафные неустойки.
ПРИМЕРЫ
С точки зрения пользователя, варианты осуществления настоящего изобретения могут использоваться для выполнения множества различных задач.
Во-первых, при обычной ежедневной работе, описанной в предыдущем разделе, описанная здесь система оптимизации может функционировать в некоторой степени автономно. Пользователи могут анализировать решения, созданные системой 100, и могут изучать выходные данные, сгенерированные модулями 130 вывода, для того, чтобы увидеть, возникали ли какие-либо проблемы с данными или с решениями. Время от времени пользователям может потребоваться видоизменить входные файлы 300 для отражения изменений, произошедших на производственных предприятиях, или изменений ограничений, используемых в процедуре оценки.
Другой вариант использования системы 100 включает в себя использование ее способности выполнять разнообразные виды анализа, основанного на принципе "что произойдет, если". В этом случае система 100 может предоставлять ценные данные, опирающиеся на стратегические решения, например, следует ли одобрить модернизацию существующего оборудования. Пользователь видоизменяет входные файлы 300 для отражения изменений в оборудовании и любых связанных с этим изменений на производственных предприятиях (например, повышение/снижение производительности или издержек производства). Другой пример содержит видоизменение требований, определенных данными входных файлов 300, для отражения возможных изменений в особенностях использования продукции заказчиком (например, внезапного увеличения/уменьшения потребления товарной продукции). В еще одном примере пользователи могут видоизменять входные файлы 300 для описания изменений состояния производственного предприятия на текущий момент времени. Разность в эксплуатационных расходах между циклом оптимизации с использованием видоизмененных входных файлов 300 и реальными текущими эксплуатационными расходами может предоставить пользователю ясное свидетельство о потенциальных выгодах модернизации оборудования или об издержках при этой модернизации.
Еще один вариант использования системы 100 включает в себя планирование изменения в особенностях использования продукции заказчиком. Например, пользователь осуществляет генерацию множества задач оптимизации, отражая те точки, в которых могут произойти изменения в особенностях использования продукции заказчиком. Затем пользователь анализирует решения, созданные системой, для определения того, отображают ли эти решения приемлемый путь перехода при операциях со сжиженным газом. В противном случае пользователь может наложить на сложные промежуточные решения дополнительные ограничения, которые приведут к сглаживанию различий между этими решениями и теми, которые являются соседними с ними по времени. Таким образом, варианты осуществления настоящего изобретения могут помочь производителю товарной продукции в переходе из одного обычного режима работы в другой режим работы.
Понятно, что специалистами в данной области техники может быть сделано множество дополнительных изменений, касающихся подробностей, веществ, операций и компоновки частей, которые были здесь описаны и проиллюстрированы для объяснения сущности настоящего изобретения, не выходя за пределы принципа и объема настоящего изобретения, которые сформулированы в прилагаемой формуле изобретения. Следовательно, подразумевается, что настоящее изобретение не ограничено конкретными вариантами его осуществления, продемонстрированными в приведенных выше примерах и/или проиллюстрированными на приложенных чертежах.