-МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра Информационных систем
практическая РАБОТА
по дисциплине «Теория принятия решений»
Тема: Применение методов линейного и динамического программирования для решения практических задач (по вариантам)
Вариант: 190 (448)
Студент гр. 0375 |
|
Яблоков В.А. |
Преподаватель |
|
Пономарев А.В. |
Санкт-Петербург
2023
содержание
Y
введение 3
1. Задача об оптимизации отопления 4
1.1. Условие задачи 4
1.2. Формализация задачи 6
1.3. Решение задачи 7
2.1. Анализ чувствительности 10
заключение 12
список использованных источников 13
Введение
Целью работы является получение оптимального решения для задачи динамического программирования и проведение анализа его чувствительности к изменению параметров задачи. Для ее достижения был использован язык программирования Python, решение было получено программно с использованием рекурсии.
1. Задача об оптимизации отопления
1.1. Условие задачи
Вам предлагается разработать компонент планирования в системе отопления «умного» дома. Задачей системы отопления является поддержание комфортной температуры с учетом рационального расходования электроэнергии.
Система отопления имеет шесть режимов работы (0-5), каждый из которых характеризуется определенной теплоотдачей и стоимостью в час (табл. 1). Режим может изменяться раз в час. Изменение температуры в помещении за час определяется с помощью следующего уравнения:
где — это энергия, выделенная за час системой отопления (МДж), а — потери энергии во внешнюю среду (МДж). Потери энергии (в МДж) определяются по следующей формуле:
где — температура в помещении, а — температура на улице (в градусах Цельсия).
Дискомфорт пользователя пропорционален квадрату отклонения температуры в помещении от желаемой (18 градусов по Цельсию). Температура в помещении в начальный момент — 18 градусов. Известны ожидаемое время пребывания пользователя в помещении и прогноз погоды на ближайшие 12 часов (табл. 2).
Требуется:
1. Составить целевую функцию, учитывающую как экономию энергии, так и дискомфорт пользователя от температуры, не соответствующей предпочтениям.
2. Сформировать оптимальный план включения обогревателей на указанный горизонт планирования.
3. Проанализировать чувствительность найденного плана к параметрам целевой функции (устанавливающим относительную важность двух критериев).
Таблица 1 – Режимы работы системы отопления
Режим |
0 |
1 |
2 |
3 |
4 |
5 |
Выделяемая энергия за час, МДж |
0 |
2 |
4 |
6 |
8 |
10 |
Стоимость в час, руб |
0 |
12 |
25 |
43 |
62 |
83 |
Таблица 2 – Прогноз
Час |
Присутствие пользователя |
Наружная температура |
0 |
0 |
-14 |
1 |
0 |
-13 |
2 |
0 |
-13 |
3 |
0 |
-12 |
4 |
0 |
-12 |
5 |
0 |
-11 |
6 |
0 |
-11 |
7 |
1 |
-10 |
8 |
1 |
-10 |
9 |
1 |
-9 |
10 |
1 |
-9 |
11 |
1 |
-8 |
1.2. Формализация задачи
Составим целевую функцию, учитывающую экономию энергии и дискомфорт пользователя:
,
где – это квадрат разности текущей температуры в доме от желаемой, – параметр, регулирующий важность двух составляющих целевой функции, – затраты в деньгах на электроэнергию, – обозначает присутствие пользователя в доме, .
Шаг 1. Выберем способ описания процесса:
1) Этапы: часы с 0 до 11.
2) Выигрыш: значение на текущем шаге. представляет собой функцию, определенную в 6-ти точках , .
3) Управление: выделяемая энергия для выбранного режима работы обогревателя. Имеем 6 режимов работы на 12 этапах задачи, поэтому .
4) Состояние: температура в доме на текущем шаге.
Дополнительно еще обозначим за наружную температуру на каждом этапе.
Шаг 2. Уравнение выигрыша на i-ом шаге в зависимости от состоянии системы и управления:
Шаг 3. Функция, выражающая изменение состояния системы под влиянием управления:
Шаг 4. Основное функциональное уравнение:
Шаг 5. Условный оптимальный выигрыш для последнего этапа:
Это задача динамического программирования так как имеются разные этапы принятия решений, связанные друг с другом состоянием и возможные варианты управления.