Посты с тэгом линейное программирование


[Из песочницы] Линейное программирование в python силами библиотеки scipy

В своей первой публикации мне хочется рассказать о том, как можно быстро и просто решить задачу линейного программирования с помощью замечательной библиотеки scipy. Для подобных задач в python есть так же pulp, но для новичков в scipy более понятный синтаксис.

Зачем может понадобиться линейное программирование на практике? Как правило, с его помощью решают задачу минимизации функции f(x) (или обратную задачу максимизации для — f(x) ).

Здесь я не буду приводить теоретические выкладки (можно посмотреть тут), а рассмотрю конкретный пример.

Итак, задача.

У нас есть 8 фабрик, которые каждую неделю производят некоторое количество продукции. Нам нужно распределить продукцию по 13 магазинам так, чтобы максимизировать суммарную прибыль, п



Решение задач линейного программирования с использованием Python

Зачем решать экстремальные задачи


На практике очень часто возникают задачи, для решения которых используются методы оптимизации. В обычной жизни при множественном выборе, например, подарков к новому годы мы интуитивно решаем задачу минимальных затрат при заданном качестве покупок.

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в два раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы.

Читать дальше →


[Из песочницы] Python: использование отдельного описания матмодели линейного программирования

После знакомства с продуктом GAMS появилось желание написать что-то своё для линейного программирования (чтобы каждый раз не «хардкодить» матмодель, а иметь возможность её изменять в отдельном файле). В результате появился скрипт на Python, состоящий из трёх файлов: сам файл скрипта, файл описания матмодели и файл с исходными данными (последние два файла — в текстовом формате).

Далее приведено описание файла матмодели, а также возможности формирования исходных данных для задачи прямо в Python.

Читать дальше →