1

EDIT: Вместо других предложений я решил поиграть с Python DEAP framework, пока не придумаю что-нибудь полезное. Надеюсь, это поможет людям с подобной проблемой.Необходим многоцелевой метод оптимизации

Я реализую систему, в которой мы должны сделать многоцелевой оптимизации для клиента, а именно:

система А производство должен производить N частей (одного и того же вида) с помощью сварки. Для этого может быть выбран определенный материал, способ сварки и количество точек сварки, используемых для сборки каждой детали. Изображения ниже показаны параметры задачи и их взаимозависимости:

enter image description here

я могу играть со значениями для

material 
welding method 
number of spot welding points 

мне нужно найти комбинацию материала, способ сварки и количества сварки пункты/часть, что минимизирует стоимость и максимизирует стабильность.

Я думал об использовании подхода эволюционного алгоритма. Однако мой фон не в оптимизации, поэтому, если кто-то может предложить более конкретный алгоритм, подходящий для этой проблемы, это было бы очень полезно.

ответ

1

Предполагая, что у вас есть функция стоимости для «стоимости» и «стабильности», вы можете использовать традиционный многоцелевой EA, такой как NSGa-II, SPEA-2 и, возможно, PAES. Очевидно, что выбор алгоритма сильно зависит от количества образцов, которые у вас есть, от особенностей функций затрат и других важных характеристик. Вы можете проверить журналы, подобные Applied Soft Computing для аналогичных приложений.

+0

В принципе у меня есть 3 возможных значения материала, 2 возможных метода сварки, и я могу использовать от 50 до 500 точек. Для любой их комбинации, например. «материал M1, метод сварки W2, количество точек = 75». Я могу вычислить стоимость и стабильность комбинации; Я хочу иметь небольшую стоимость и большую стабильность. Тем временем я нашел подход SPEA-2, я борюсь с DEAP, чтобы заставить его работать :-) Есть ли хорошие учебники для SPEA-2, кроме слайдов и статей Zitzler? Благодаря! – Cristina

+0

Я сделал поиск некоторое время назад, и я ничего не нашел, надеюсь, что SPEA2 это не так сложно, вы можете найти некоторые доступные реализации в MATLAB или C++, если я правильно помню. –

+0

Хорошо, спасибо большое! – Cristina

0

Старый пост, я понимаю, но ради тех, кто с подобной ситуацией ...

Хотя использование EA - это один из подходов, эта проблема кажется мне особенно подходящей для смешанного целочисленного программирования. EA может быть отличным, но не гарантировано достичь оптимального решения. MIP, с другой стороны, может достичь оптимального решения (и доказать, что это оптимально). Кроме того, несколько целей могут быть довольно легко реализованы.

Я бы рекомендовал проверить Гуроби (https://www.gurobi.com/). Они проделали большую работу по максимально возможному доступу к MIP и имеют много документов и примеров на своем веб-сайте, чтобы начать работу. Сначала это немного кривая обучения, но вскоре вы увидите возможности использовать MIP везде, где бы вы ни выглядели, поэтому я думаю, что время инвестиций окупается. Я считаю, что есть пробная лицензия.

Смежные вопросы