Оптимизатор производства для управления цепочками поставок
Иллюстрации
Показать всеИзобретение относится к области оптимизатора производства для управления цепочками поставок. Техническим результатом является обеспечение возможности вычисления за приемлемое время высококачественных решений для задачи управления цепочками поставок (УЦП). В одном из вариантов осуществления настоящего изобретения предложен способ оптимизации задачи УЦП. Для генерации решения относительно производства для производственных аспектов задачи УЦП может быть использована методика оптимизации, основанная на генетическом алгоритме, а для генерации решения для аспектов распределения задачи УЦП может быть использована методика оптимизации, основанная на принципе «муравейника». Совместное функционирование методики оптимизации, основанной на генетическом алгоритме, и методики оптимизации, основанной на принципе «муравейника», обеспечивает быстрое определение высококачественных решений задачи УЦП. 3 н. и 24 з.п. ф-лы, 9 ил.
Реферат
Уровень техники
Проблема оптимизации цепочки поставок является сложной задачей. Как правило, термин "управление цепочками поставок" относится к потоку продукции из места производства через промежуточные пункты в место конечного использования. Задача управления цепочками поставок (УЦП) может быть упрощенно описана следующим образом: продукция может быть произведена (или получена) из множества источников за различную стоимость, при этом продукция должна быть распределена и доставлена множеству потребителей. Следует отметить, что эта задача отличается от традиционной задачи оптимизации поставок. В сценарии оптимизации поставок конкретная продукция должна быть доставлена из исходной точки в место назначения, и существенная проблема состоит в том, как обеспечить наиболее эффективную доставку партии продукции. Однако задача УЦП может быть весьма сложной в том случае, когда продукцией, о которой идет речь, является такая товарная продукция, как, например, промышленные жидкости. В этом случае товарная продукция, доставляемая в любой заданный пункт назначения, может быть произведена (или получена) из любого доступного источника. Вследствие этого, добавление производящей стороны в задачу УЦП существенно усложняет процедуру оптимизации.
В настоящее время существуют систему оптимизации для оптимизации аспекта распределения в задаче УЦП. Эти системы обычно определяют набор маршрутов доставки для партии поставок из определенных мест. Однако такие системы часто имеют ограничения, заключающиеся в невозможности учета различных производственных возможностей. В то же самое время, по меньшей мере, для производителя и поставщика товарных веществ затраты за энергоснабжение часто изменяются в широких пределах в зависимости от места расположения, различные производственные предприятия имеют различную себестоимость продукции и различные профили производства, и могут изменяться объемы потребления товарной продукции заказчиками. Следовательно, выбор стратегии производства может оказать существенное влияние на эксплуатационные расходы. Фактически, для производства и распределения промышленных жидкостей наиболее затратным компонентом производства и распределения может являться стоимость энергии, потребляемой производственными предприятиями. В этом случае использование системы, сконфигурированной таким образом, что она оптимизирует распределение продукции, может привести к результатам, которые являются далеко не оптимальными. Это происходит потому, что зачастую удобно производить вещества на том производственном предприятии, которое обеспечивает очень низкую себестоимость производства, даже в том случае, когда это может приводить к значительному увеличению расходов на транспортировку для некоторых поставок. Однако существующие в настоящее время системы оптимизации часто неспособны учитывать эти сценарии.
Следовательно, сохраняется потребность в создании методик оптимизации, которые способны обеспечивать оптимизацию задачи УЦП как с точки зрения производства, так и с точки зрения распределения, для производителя и дистрибьютора товарной продукции.
Раскрытие изобретения
Технический результат, на достижение которого направлено настоящее изобретение, заключается в обеспечении возможности вычисления за приемлемое время высококачественных решений для задачи УЦП (а также в повышении эффективности таких решений) посредством генерации такого решения относительно производства, которое оптимизирует сторону производства в задаче УЦП, с использованием метода оптимизации, основанного на генетическом алгоритме, и нахождения допустимого решения относительно распределения для оптимизированного решения относительно производства с использование метода оптимизации, основанного на принципе «муравейника». Различные варианты осуществления настоящего изобретения относятся как к аспектам производства, так и к аспектам распределения в задаче управления цепочками поставок. Например, варианты осуществления настоящего изобретения могут быть использованы для оптимизации как производства, так и распределения товарных веществ, таких как, например, промышленные жидкости.
Один из вариантов осуществления настоящего изобретения включает в себя способ оптимизации цепочки поставок. Способ обычно содержит этапы, на которых осуществляют генерацию оптимизированного решения относительно производства для цепочки поставок с использованием методики оптимизации, основанной на генетическом алгоритме, для оптимизации совокупности начальных решений; и генерируют оптимизированное решение относительно распределения для оптимизированного решения относительно производства с использованием методики оптимизации, основанной на принципе «муравейника». Методика оптимизации, основанная на генетическом алгоритме, и методика оптимизации, основанная на принципе «муравейника», могут функционировать совместно, обеспечивая быстрое определение высококачественных решений задачи УЦП.
В конкретном варианте осуществления настоящего изобретения этап генерации оптимизированного решения относительно производства для цепочки поставок может содержать этапы, на которых считывают входные данные, причем эти входные данные описывают задачу для цепочки поставок, подлежащей оптимизации; осуществляют генерацию совокупности решений, при этом каждое решение из этой совокупности определяет допустимое решение задачи для цепочки поставок, подлежащей оптимизации; производят оценку каждого решения из упомянутой совокупности и выполняют сортировку решений из упомянутой совокупности согласно оценке, и выполняют методику оптимизации, основанную на генетическом алгоритме, с использованием упомянутой совокупности до тех пор, пока не будет выполнено условие завершения, определенное входными данными.
В общем случае, методика оптимизации, основанная на генетическом алгоритме, может быть сконфигурирована таким образом, что обеспечивает "эволюцию" начальной совокупности на протяжении множества поколений, осуществляя генерацию новых решений и удаляя плохие решения из совокупности в процессе этой эволюции. Генерацию новых решений обычно осуществляют путем изменения решения с использованием выбранной методики видоизменения. Может использоваться любое количество методик видоизменения решения. Например, одна методика видоизменения решения содержит операцию видоизменения решения из совокупности решений по случайному закону, другая методика содержит операцию видоизменения решения на основании эвристического правила, а третья методика содержит операцию скрещивания двух или большего количества решений. Кроме того, поскольку задача УЦП, подлежащая оптимизации, может отражать работу в реальных условиях, то источником входных данных может являться база данных о состоянии системы, описывающая реальные текущие действия в области производства и распределения. Кроме того, входные данные могут быть предоставлены в структурированном виде, например, на широко используемом расширяемом языке гипертекстовой разметки (XML), который используют для описания данных.
Генерация начальной совокупности решений может быть осуществлена различным образом. Например, совокупность начальных решений может содержать первую группу решений, генерация которых осуществлена согласно эвристическим правилам, и вторую группу решений, генерация которых осуществлена с использованием случайного процесса.
Кроме того, в другом конкретном варианте осуществления настоящего изобретения операция генерации оптимизированного решения относительно распределения для оптимизированного решения относительно производства с использованием методики оптимизации, основанной на принципе «муравейника», может содержать этап, на котором задают начальное состояние вектора весового коэффициента производственного предприятия для каждого производственного предприятия в цепочке поставок задают начальное состояние вектора установки для каждого места доставки в цепочке поставок и осуществляют генерацию решения относительно распределения, причем это решение относительно распределения описывает один или большее количество маршрутов доставки из производственного предприятия, по меньшей мере, в одно место доставки.
В общем случае, компоненты вектора весового коэффициента производственного предприятия могут указывать предпочтения для поставок из производственного предприятия, представленные в виде вектора, в совокупность установок. А компоненты вектора установки могут указывать предпочтительный маршрут доставки из установки, представленной вектором установки, в другие установки.
Краткое описание чертежей
Для более глубокого понимания сущности и задач настоящего изобретения следует изучить приведенное ниже подробное описание совместно с сопроводительными чертежами, на которых схожие элементы обозначены одинаковыми или аналогичными номерами позиций и на которых изображено следующее:
на фиг.1 проиллюстрирована система оптимизации цепочки поставок согласно одному из вариантов осуществления настоящего изобретения;
на фиг.2 дополнительно проиллюстрированы компоненты системы оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения;
на фиг.3 проиллюстрирован набор входных файлов, используемых системой оптимизации цепочки поставок из фиг.1, согласно одному из вариантов осуществления настоящего изобретения;
на фиг.4 дополнительно проиллюстрированы компоненты системы оптимизации цепочки поставок из фиг.1 согласно одному из вариантов осуществления настоящего изобретения;
на фиг.5, 6 проиллюстрированы операции, выполняемые оптимизатором производства согласно одному из вариантов осуществления настоящего изобретения; и
на фиг.7 - 9 проиллюстрированы операции, выполняемые оптимизатором распределения, согласно одному из вариантов осуществления настоящего изобретения.
Осуществление изобретения
В вариантах осуществления настоящего изобретения предложена компьютеризированная система оптимизации, которая может использоваться для оптимизации производства и распределения товарных веществ. Используемый здесь термин "задача оптимизации цепочки поставок (управления цепочкой поставок - УЦП)" относится к оптимизации как производства, так и распределения товарных веществ. Например, варианты осуществления настоящего изобретения могут быть использованы для оптимизации производства и распределения промышленных жидкостей, таких как, например, жидкий азот, жидкий кислород, жидкий аргон и т.д.
Как правило, термин "оптимизация" используют здесь для описания такого решения задачи УЦП, которое является лучшим, чем другие решения, обычно с точки зрения себестоимости производства, затрат на распределение продукции и/или иных факторов. Термин "решение задачи УЦП" относится к описанию графика производства и/или распределения. Идеальное решение удовлетворяет любым действующим ограничениям (например, предельным объемам производства и требованиям потребителя) и при этом также сводит к минимуму суммарные издержки производства и распределения. Однако следует отметить, что варианты осуществления настоящего изобретения не обязательно должны определять действительно самое оптимальное или наилучшее решение задачи УЦП. Вместо этого, термин "оптимизация" обычно относится к определению приемлемых решений сложных задач за приемлемое количество времени. В одном из вариантов осуществления изобретения система оптимизации содержит прикладную программу, сконфигурированную таким образом, что она ищет высококачественное решение задачи оптимизации.
В случае производства и распределения товарной продукции система оптимизации может быть сконфигурирована таким образом, чтобы определять объемы производства предприятий и графики движения по маршрутам, удовлетворяющие запросам потребителей, также уменьшая эксплуатационные расходы. Например, вариантами оптимизации, которые могут быть заданы, являются, в том числе, следующие: снижение затрат на энергоснабжение путем перемещения производства между различными производственными предприятиями, определение источника производства и маршрута доставки, которые следует использовать для каждой требуемой поставки, и определение количества товарной продукции, подлежащей доставке, на каждой остановке вдоль маршрута доставки для выполнения обязательств перед потребителями.
Варианты осуществления настоящего изобретения описаны здесь применительно к системе производства и распределения, используемой для производства и распределения двух жидкостей: жидкого кислорода (ЖК (LOX) или O2) и жидкого азота (ЖА (LIN) или N2). Однако для обычного специалиста в данной области техники понятно, что варианты осуществления настоящего изобретения могут быть приспособлены для оптимизации производства и распределения множества видов товарной продукции, в том числе для оптимизации производства и распределения более (или менее) двух веществ, в том числе иных веществ, чем O2 или N2.
На фиг.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