
- •1. Задача о найме персонала 4
- •Введение
- •Задача о найме персонала
- •Условие задачи
- •1.2 Формализация задачи
- •1.3 Решение задачи
- •2. Задача о покрытии
- •2.1 Условие задачи
- •2.2 Формализация задачи
- •2.3 Решение задачи
- •3. Задача о сенсоре
- •3.1. Условие задачи
- •3.2. Формализация задачи
- •3.3. Решение задачи
- •Заключение
- •Список использованных источников
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра Информационных систем
ПРАКТИЧЕСКАЯ РАБОТА
по дисциплине «Теория принятия решений»
Тема: Применение методов линейного и динамического программирования для решения практических задач (по вариантам)
Вариант: 109
Студентка гр. |
|
|
Преподаватель |
|
Пономарёв А.В. |
Санкт-Петербург 2024
ОГЛАВЛЕНИЕ
Оглавлени
МИНОБРНАУКИ РОССИИ 1
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) 1
ПРАКТИЧЕСКАЯ РАБОТА 1
Тема: Применение методов линейного и динамического программирования для решения практических задач (по вариантам) 1
ОГЛАВЛЕНИЕ 2
ВВЕДЕНИЕ 4
1. Задача о найме персонала 5
1.1 Условие задачи 5
1.2 Формализация задачи 6
Ограничения: 7
1.3 Решение задачи 10
2. Задача о покрытии 15
2.1 Условие задачи 15
2.2 Формализация задачи 16
2.3 Решение задачи 19
3. Задача о сенсоре 20
3.1. Условие задачи 20
3.2. Формализация задачи 21
3.3. Решение задачи 23
ЗАКЛЮЧЕНИЕ 28
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 29
ВВЕДЕНИЕ 3
1. Задача о найме персонала 4
1.1 Условие задачи 4
1.2 Формализация задачи 5
1.3 Решение задачи 8
2. Задача о покрытии 13
2.1 Условие задачи 13
2.2 Формализация задачи 14
2.3 Решение задачи 16
3. Задача о сенсоре 17
3.1. Условие задачи 17
3.2. Формализация задачи 18
3.3. Решение задачи 20
ЗАКЛЮЧЕНИЕ 25
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 26
Введение
Целью практической работы является нахождение оптимального решения задачи линейного программирования. Для выполнения работы использовался язык программирования Python.
Задача о найме персонала
Условие задачи
Запасы товара на трех складах торговой компании, составляют 125, 136, и 143. Компания имеет пункты реализации товара в пяти населенных пунктах, причем средние транспортные затраты на перевозку единицы товара из складов в населенные пункты, а также спрос на товар в каждом из пунктов указаны в табл.1. Для стимуляции спроса торговая компания может провести рекламную акцию в каждом из пунктов. Потенциальный эффект от рекламной акции (увеличение спроса на единицу стоимости рекламной акции) зависит от бюджета рекламной акции. Параметры зависимости различны для городов и сведены в табл. 2. Следует обратить внимание, что эффект характеризуется убывающей отдачей (что в определенной степени моделирует насыщение рынка). Так, например, при бюджете рекламной акции 120, увеличение спроса в первом городе будет вычисляться следующим образом: 0.5*40 + 0.4*60 + 0.3*(120 - 40 - 60). Требуется:
1. Определить минимальные издержки на реализацию всего товара. 2. Выявить населенные пункты, требующие максимальный и минимальный рекламный бюджет.
3. Провести анализ чувствительности оптимальной стратегии к стоимости перевозок между складом 2 и населенным пунктом 3.
1.2 Формализация задачи
𝑥𝑖,𝑗, 𝑖 = номер склада (1 … 3); 𝑗 = номер населенного пункта(1 … 5) – количество товара перевезенного из склада i в пункт j.
𝑐𝑖,𝑗, 𝑖 = номер склада (1 … 3); 𝑗 = номер населенного пункта(1 … 5) – стоимость перевозки из склада i в пункт j.
𝑦𝑖 , 𝑖 = номер населенного пункта (1 … 5) – количество вложенных в рекламу в i-ый населенный пункт денег.
1
𝑖=1
5
∑
𝑐𝑖,𝑗 ∙ 𝑥𝑖,𝑗 + ∑5 𝑦𝑖 → 𝑚𝑖𝑛.
Ограничения:
Так как нужно продать весь товар на складах, то задаем ограничение в виде равенств:
𝑥1,1 + 𝑥1,2 + … + 𝑥1,5 = 125
𝑥2,1 + 𝑥2,2 + … + 𝑥2,5 = 136
𝑥3,1 + 𝑥3,2 + … + 𝑥3,5 = 143
Т.к. предложение не должно превышать спрос, который зависит от количества вложенных в рекламу денег построим систему неравенств:
(1) 𝑥1,𝑖 + 𝑥2,𝑖 + 𝑥3,𝑖 ≤ ℎ𝑖 + 𝑓𝑖(𝑦𝑖), 𝑖 = (1 … 5) – номер населенного пункта
ℎ𝑖 – i-ый эл-т в таблице 1. (спрос в i-ом населенном пункте при отсутствии рекламы)
𝑓𝑖(𝑦𝑖) − функция увеличения спроса в i-ом населенном пункте от суммы вложения в рекламу в этот город 𝑦𝑖 . Данная функция имеет различный вид, в зависимости от диапазона значений аргумента, т.е. 𝑓𝑖(𝑦𝑖) − кусочно-линейная функция имеющая следующий вид на 3-ёх интервалах:
(2) 𝑓𝑖(𝑦𝑖) = 𝑘1,𝑖 ∙ 𝑦𝑖, 𝑦𝑖 ∈ (0; 40]
(3) 𝑓𝑖(𝑦𝑖) = 𝑘1,𝑖 ∙ 40 + 𝑘2,𝑖 ∙ (𝑦𝑖 − 40), 𝑦𝑖 ∈ (40; 100]
(4)𝑓𝑖(𝑦𝑖) = 𝑘1,𝑖 ∙ 40 + 𝑘2,𝑖 ∙ 60 + 𝑘3,𝑖 ∙ (𝑦𝑖 − 100), 𝑦𝑖 ∈ (100; ∞],
где 𝑘𝑙,𝑖 – коэффициент зависимости спроса от вложенных в рекламу денег на диапазоне вложенных в рекламу денег в количестве лежащем в 1-ом из 3ёх диапазонов l = (1…3).
Введем дополнительную переменную 𝑔𝑖 = 𝑓𝑖(𝑦𝑖). Тогда мы сможем избавиться от кусочно-линейной функции следующим образом:
(1) , (2), (3), (4)
𝑖 = (1 … 5)
𝑥1,𝑖 + 𝑥2,𝑖 + 𝑥3,𝑖 ≤ ℎ𝑖 + 𝑔𝑖
𝑔𝑖 ≤ 𝑘1,𝑖 ∙ 𝑦𝑖
𝑔𝑖 ≤ 𝑘1,𝑖 ∙ 40 + 𝑘2,𝑖 ∙ (𝑦𝑖 − 40)
𝑔𝑖 ≤ 𝑘1,𝑖 ∙ 40 + 𝑘2,𝑖 ∙ 60 + 𝑘3,𝑖 ∙ (𝑦𝑖 − 100)
(соединим неравенства (a < b < c a < c), раскроем скобки и перенесем все переменные в левые части неравенств, а свободные члены – в правые)
𝑖 = (1 … 5)
𝑥1,𝑖 + 𝑥2,𝑖 + 𝑥3,𝑖 − 𝑘1,𝑖 ∙ 𝑦𝑖 ≤ ℎ𝑖
𝑥1,𝑖 + 𝑥2,𝑖 + 𝑥3,𝑖 − 𝑘2,𝑖 ∙ 𝑦𝑖 ≤ ℎ𝑖 + 40 ∙ (𝑘1,𝑖 − 𝑘2,𝑖)
𝑥1,𝑖 + 𝑥2,𝑖 + 𝑥3,𝑖 − 𝑘3,𝑖 ∙ 𝑦𝑖 ≤ ℎ𝑖 + 𝑘1,𝑖 ∙ 40 + 𝑘2,𝑖 ∙ 60 − 100 ∙ 𝑘3,𝑖
Кроме того, как число перевозимого товара, так и число выделенных денег не могут быть отрицательными:
𝑥𝑖,𝑗 ≥ 0, 𝑦𝑖 ≥ 0
Это задача линейного программирования, так как целевая функция и ограничения задачи имеют линейную форму; не имеется каких-либо управлений и промежуточных состояний.