Постановка задачи выбора варианта как задачи дискретного программирования, логическая переменная «включения процесса», дискретная функция прибыли, ограничения потребления ресурсов запасами ресурсов, оптимальный вариант «включения процессов», нахождение оптимального решения методом перебора.
Дискретное программирование – это один из разделов математического программирования. Основная задача дискретного программирования – выбор
наилучшего варианта из конечного, возможно, очень большого их числа. Возникающие при этом экстремальные задачи имеют ряд особенностей, которые не встречаются в таких стандартных задачах математического программирования, как линейные, выпуклые или многокритериальные задачи. В противоположность задачам оптимизации с непрерывными переменными, переменные в задачах дискретного программирования принимают только дискретные значения, например, целочисленные.
Дискретной называется переменная, которая может принимать не любые значения из своего диапазона изменения, а только отдельные, причем изолированные друг от друга. Дискретная переменная может принимать конечное или счетное число значений.
С математической точки зрения дискретное и целочисленное программирование – не одно и тоже. Дискретные значения могут быть не целыми числами.
Под задачей дискретного программирования (дискретной оптимизации) понимается задача математического программирования:
Найти максимум или минимум линейной функции:
fx0=maxfx minfx, x∈G,
множество допустимых решений которого конечно, т.е. 0≤G=N<∞, где G – число элементов множества G. В силу конечности G все допустимые решения можно пронумеровать: x1,x2…xN вычислить fxi,i =1,2,…, N, и найти наибольшее (наименьшее) значение. Однако такой метод полного перебора вариантов при решении задачи реализовать становится невозможным, если N окажется настолько большим, что этот перебор невыполним даже на ЭВМ любой мощности.
Наиболее распространенными задачами дискретного программирования являются задачи:
1) о контейнерных перевозках (о рюкзаке, о кошелке), в которой определяется максимум перевезенной продукции при ограничениях на вместимость;
2) о назначениях (выбора), в которой определяется наиболее рациональное использование потенциала сотрудников при выполнении определенных работ;
3) коммивояжера, в которой определяется минимальный путь агента, проходящий через необходимые пункты возможного сбыта продукции;
4) транспортная, один из случаев задачи дискретного программирования.
Одними из основных методов решения задач дискретного программирования являются метод перебора, отсечения, метод ветвей и границ и динамическое программирование.
Первые попытки решения задач целочисленного линейного программирования сводились к отбрасыванию условия целочисленности, решению линейной задачи и округлению полученного решения. Можно привести простой пример, который показывает неприемлемость такого подхода:
Найти x1-3×2+3×3→max
2×1+x2-x3≤44×1-3×2≤2-3×1+2×2+x3≤3×1,x2,x3-целые
Игнорируя условие целочисленности, получим оптимальное решение линейной задачи x1=0,5,×2=0,×3=4,5.
Никакие округления компонент этого решения не дают даже целочисленного плана. Оптимальным решением данной целочисленной задачи является: x1=2,×2=2,×3=5.
Дискретные задачи характеризуются тем, что область допустимых решений невыпукла и несвязна, а это делает невозможным решение их с помощью стандартных методов, применяемых для решения регулярных задач математического программирования.
Рассмотрим далее ряд специальных оптимизационных задач, сводящихся к задачам линейного целочисленного программирования. Одной из таких задач является задача о назначениях, с помощью которой можно получить ответ на вопросы типа: как распределить рабочих по станкам, чтобы общая выработка была наибольшей или затраты на заработную плату наименьшими; как наилучшим образом распределить экипажи самолетов; как назначить людей на различные должности (отсюда и название задачи) и т.д.
Там, где есть варианты, из которых надо выбирать, задачу можно решать с помощью логических (булевых) переменных, которые в случае положительного ответа «да» принимают значение, равное 1, в случае «нет» – 0.
Например. Компания реализует продукцию в 5 районах. Покупательные способности жителей района оцениваются следующим образом:
Район 1 2 3 4 5
Покупательная способность (спрос) 80000 60000 50000 40000 20000
Профессиональный уровень пяти продавцов различен. Предполагается, что доля реализуемых покупательных способностей (спроса) составляет:
Продавец A B C D E
Доля реализации спроса 0,5 0,7 0,45 0,8 0,4
Как следует распределить продавцов по районам (одного продавца в один район), чтобы максимизировать количество проданной продукции?
x11
x12
x13
x14
x15
x21
x22
x23
x24
x25
x31
x32
x33
x34
x35
x41
x42
x43
x44
x45
x51
x52
x53
x54
x55
где xij означает реализацию i-ым продавцом продукции в j-ом районе.
Целевая функция описывает суммарный объем проданной продукции:
F=0,5∙80000×11+0,5∙600000×12+0,5∙50000×13+0,5∙40000×14+
+0,5∙20000×15+0,7∙80000×21+0,7∙600000×22+0,7∙50000×23+
+0,7∙40000×24+0,7∙20000×25+0,45∙80000×31+0,45∙600000×32+
+0,45∙50000×33+0,45∙40000×34+0,45∙20000×35+0,8∙80000×41+
+0,8∙600000×42+0,8∙50000×43+0,8∙40000×44+0,8∙20000×45+
+0,4∙80000×51+0,4∙600000×52+0,4∙50000×53+0,4∙40000×54+
+0,4∙20000×55.
Ограничения: xij- двоичное, суммы по срокам и столбцам равны 1, чтобы распределить одного продавца в один район.
Составим таблицу в Excel с исходными данными:
Покупательная способность по районам
Доля реализации спроса
80000 60000 50000 40000 20000
0,5 40000 30000 25000 20000 10000
0,7 56000 42000 35000 28000 14000
0,45 36000 27000 22500 18000 9000
0,8 64000 48000 40000 32000 16000
0,4 32000 24000 20000 16000 8000
И такую же для решения, заполнив ее первоначально нулями. Целевая функция запишется формулой:
=СУММПРОИЗВ(C3:G3;C12:G12)+СУММПРОИЗВ(C4:G4;C13:G13)+
+СУММПРОИЗВ(C5:G5;C14:G14)+СУММПРОИЗВ(C6:G6;C15:G15)+
+СУММПРОИЗВ(C7:G7;C16:G16).
Параметры поиска решений:
Получим ответ:
Покупательная способность по районам
Доля реализации спроса
80000 60000 50000 40000 20000
0,5 0 0 1 0 0 1
0,7 0 1 0 0 0 1
0,45 0 0 0 1 0 1
0,8 1 0 0 0 0 1
0,4 0 0 0 0 1 1
Целевая функция 1 1 1 1 1
157000
Что означает: 4 продавец реализует продукцию в районе A в объеме 64000 ед.; второй – в районе B в объеме 42000 ед.; первый – в районе С в объеме 25000 ед.; третий – в районе D в объеме 18000 ед. и наконец, пятый – в районе Е в объеме 8000 ед. Суммарные продажи -157000 ед.
Метод полного перебора. Алгоритм метода заключается в следующем:
– в специальной таблице заполняются все варианты сочетаний значений d1, d2,…dk-дискретные значения, которые может принимать переменная xi;
– определяются значения левых частей ограничений и целевой функции и записываются в таблицу;
– вычеркиваются варианты, в которых нарушается по крайней мере одно ограничение;
– из оставшихся вариантов принимается тот, в котором целевая функция принимает максимальное (минимальное) значение.
…
Yanavl 5.0
В сфере научных интересов психология, педагогика, связи с общественностью, реклама, сервис и туризм, менеджмент, стратегия выживаемости и др. Аспирант по направлению "Экология". Опыт работы в вузе более шести лет.
На странице представлен фрагмент
Уникализируй или напиши новое задание с помощью нейросети
Похожие работы
Руководитель Комитета по земельным ресурсам представил на рассмотрение главе администрации N-ского муниципального района предложения относительно мест
Руководитель Комитета по земельным ресурсам представил на рассмотрение главе администрации N-ского муниципального района предложения относительно местоположения земельных участков, которые следует...
Токсичные элементы как загрязняющие вещества пищевых продуктов предельно допустимые концентрации в пищевых продуктах
Токсичные элементы как загрязняющие вещества пищевых продуктов, предельно допустимые концентрации в пищевых продуктах Часть выполненной работыВ результате воздействия загрязненной окружающей среды, а...