2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Задача целочисленного программирования
Сообщение04.07.2022, 19:52 


30/09/18
164
Есть 4 завода, каждый может производить один из 3 видов машин. Даны стоимости, минимальные количества машин каждого вида. Нужно минимизировать стоимость производства. Поставить задачу целочисленного программирования, если каждый завод может производить только один вид машин. У меня что-то линейное условие производства всех машин не выходит. То есть пусть $x_{11},x_{12},x_{13}$ - количества машин первого, второго, третьего видов, производимые первым заводом. Тогда как потребовать, чтоб только одно из этих чисел было ненулевым?

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение04.07.2022, 21:47 
Заслуженный участник
Аватара пользователя


03/06/08
2320
МО
Не совсем понял условие, но я бы искал переменные - признак отнесения продукции к заводу, binary.
Требуем равенство единице соответствующей суммы.

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение04.07.2022, 22:24 


30/09/18
164
пианист в сообщении #1559326 писал(а):
Не совсем понял условие, но я бы искал переменные - признак отнесения продукции к заводу, binary.
Тогда условие - равенство единице суммы.


Да, но есть же еще количество машин на каждом заводе. Если ваши binary обозначаем $y$, а количества выпускаемых машин $x$, то получаем $xy=x$ для всех индексов. Но это ведь не линейное условие. Или может такое в задаче линейного программирования быть?

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 00:05 
Аватара пользователя


07/01/16
1612
Аязьма
Если каждый из заводов может обеспечить минимальную потребность в любом из видов машин, то, кажется, нет необходимости ставить ЗЛП. Достаточно выбрать минимальную стоимость из $24$ сценариев вида "завод #2 простаивает, завод #1 делает машины вида #3..." и т.п. Желательна более детальная постановка, если там все не так просто.

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 06:44 
Заслуженный участник
Аватара пользователя


03/06/08
2320
МО
marie-la
В Ваших обозначениях $x$ не является переменной (правда, формулу совсем не понял). Задана она или нет, это уже какое условие задачи, смотря по тому, присоединяюсь к уважаемому waxtep

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 08:04 


30/09/18
164
Пусть задана матрица затрат на продукцию $P$ размерности $4\times 3$. Каждый завод может производить не более чем один вид продукции. Производство каждого вида машин должно быть не меньше $C$. При этих условиях нужно поставить задачу линейного целочисленного программирования (в задании сказано Pure Integer Linear Programming, PILP) для минимизации стоимости производства. Я ввела бинарные переменные $y_{ij},i=1,...,4,j=1,...,3$ - индикаторы производства заводом продукции, и неотрицательные целочисленные переменные $x_{ij},i=1,...,4,j=1,...,3$ - размеры производства. Тогда получаем
$\sum_{i,j} P_{ij}x_{ij}\rightarrow \min$
$\sum_{i}x_{ij}\geq C, j=1,2,3$
$\sum_{j} y_{ij}\leq 1, i=1,2,3,4$
$x_{ij}y_{ij}=x_{ij}, i=1,...,4,j=1,...,3$
Последнее условие нужно, чтоб индикаторы производства были единичными для тех же видов машин, где ненулевые размеры производства. Вот оно меня и смущает - это условие нелинейное, а как линейным сделать, непонятно. Решать задачу мне не нужно, а только сформулировать ЗЛП.

-- 05.07.2022, 09:04 --

пианист в сообщении #1559356 писал(а):
marie-la
В Ваших обозначениях $x$ не является переменной (правда, формулу совсем не понял). Задана она или нет, это уже какое условие задачи, смотря по тому, присоединяюсь к уважаемому waxtep


Cформулировала

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 09:05 
Аватара пользователя


26/05/12
1694
приходит весна?
marie-la, я так понял, иксы у вас являются константами, указывающими производительность производства каждого завода, а игреки — искомые индикаторные переменные, принимающие значения из множества ноль-один. Вот возьмём ваше самое первое соотношение, которое нужно якобы минимизировать. Почему в него не входят искомые переменные? По какой величине его минимизировать, если оно равно константе (так как все величины в нём константы)?

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 10:14 
Заслуженный участник
Аватара пользователя


03/06/08
2320
МО
Странная какая-то задача :о
Раз изделий три, завода четыре, на одном заводе можно делать одно изделие, и для каждого изделия минимальный выпуск, какое-то из изделий будет производиться на двух заводах - выбираем самый дешевый вариант, и все переносим туда. Т.е. из четырех работают три завода, производство получается просто домножением игрека на $C$, икс не нужен, но на игрек еще одно условие.
Как-то так.

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 12:21 
Аватара пользователя


26/05/12
1694
приходит весна?
пианист, может случиться так, что ни один из заводов не сможет обеспечить нужно количество какого-то одного изделия. Тогда его придётся производить на двух заводах.

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 12:24 


30/09/18
164
пианист в сообщении #1559375 писал(а):
Странная какая-то задача :о
Раз изделий три, завода четыре, на одном заводе можно делать одно изделие, и для каждого изделия минимальный выпуск, какое-то из изделий будет производиться на двух заводах - выбираем самый дешевый вариант, и все переносим туда. Т.е. из четырех работают три завода, производство получается просто домножением игрека на $C$, икс не нужен, но на игрек еще одно условие.
Как-то так.

Да, вроде так и есть, спасибо!

-- 05.07.2022, 13:24 --

B@R5uk в сообщении #1559396 писал(а):
пианист, может случиться так, что ни один из заводов не сможет обеспечить нужно количество какого-то одного изделия. Тогда его придётся производить на двух заводах.

Нет условия на максимальное производство завода, так что все правильно

 Профиль  
                  
 
 Re: Задача целочисленного программирования
Сообщение05.07.2022, 13:14 
Аватара пользователя


26/05/12
1694
приходит весна?
marie-la в сообщении #1559397 писал(а):
так что все правильно
Вам виднее. Вы же не привели полную дословную формулировку задачи.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group