Тема 15. Модели динамического программирования в долгосрочном планировании 1. Оптимизация срока содержания коров в основном стаде. Оптимизация срока содержания коров в основном стаде Оптимизация срока содержания коров в основном стаде 2. Обоснование севооборотов с использованием динамического программирования. Обоснование севооборотов с использованием динамического программирования Обоснование севооборотов с использованием динамического программирования 3. Разработка плана освоения севооборота. Разработка плана освоения севооборота Разработка плана освоения севооборота © Н.М. Светлов, 2006Н.М. Светлов
Модели динамического программирования в долгосрочном планировании2 1.Оптимизация срока содержания коров в основном стаде Постановка задачи: имеются данные о надое y t (кг/год), затратах на содержание в основном стаде f t (руб./год), стоимости откорма g t (руб.), живой массе при снятии с откорма m t (кг), ценах (руб./кг) молока v t и скота, продаваемого на забой, w t в зависимости от возраста коровы t (лет). Определить оптимальный срок содержания животного в стаде. Рекуррентная формула для решения (q(t,d) – доход, руб.): q(3,d 3 ) = 0; q(t,d t ) = max d t {0; 1} (q(t–1,d t–1 ) + c t (d t )). Математическая формулировка: max t T c t (d t ) d {0; 1}; c t (0) = w t m t – g t ; c t (1) = v t y t – f t Сохра- нить Забить Множество возрастов коровы
Модели динамического программирования в долгосрочном планировании3 1.Оптимизация срока содержания коров в основном стаде Начало СохранитьЗабить 3 год ЗабитьСохранить 4 год Забить Сохранить 5 год 6 год Конец Сеть допустимых решений и оптимальный путь
Модели динамического программирования в долгосрочном планировании4 1.Оптимизация срока содержания коров в основном стаде: процедура расчёта 3 год 4 год 5 год 6 год Сохранить (1) Забить (0) q(3,1) = 0 c 3 (1) = 5500 q(3,0) = 0 c 3 (0) = q(4,1) = 5500 c 4 (1) = 6500 q(4,0) = 5500 c 4 (0) = q(5,1) = c 5 (1) = 6500 q(5,0) = c 5 (0) = q(6,1) = c 6 (1) = 3500 q(6,0) = c 6 (0) = 7000 (руб.)
Модели динамического программирования в долгосрочном планировании5 1.Оптимизация срока содержания коров в основном стаде Совершенствование модели Модель может быть дополнена: различными технологиями откорма, которым соответствует различные затраты, живая масса и упитанность при забое: d {0a; 0b; 0c; 1}; различными технологиями откорма, которым соответствует различные затраты, живая масса и упитанность при забое: d {0a; 0b; 0c; 1}; различными уровнями интенсивности содержания в основном стаде, которым соответствуют различные надои и затраты на содержание: d {0; 1a; 1b; 1c}; различными уровнями интенсивности содержания в основном стаде, которым соответствуют различные надои и затраты на содержание: d {0; 1a; 1b; 1c}; тем и другим одновременно: d {0a; 0b; 1a; 1b; 1c}. тем и другим одновременно: d {0a; 0b; 1a; 1b; 1c}. В этом случае результатом моделирования будет не только срок содержания животных в основном стаде, но и оптимальный план выбора уровней интенсивности содержания, а также способ откорма.
Модели динамического программирования в долгосрочном планировании6 c 0 Множество предшественников, для которых существует продолжение, заканчивающееся культурой c 0 на поле 0. Число элементов множества Математическая формулировка: max b(c 1,c #N ) + n N \ {1} b(c n,c n–1 ) c n–1 P(c n ); c 1 P(c #N ) 2.Оптимизация севооборотов Постановка задачи: имеются данные о допустимых предшественниках p P(c) каждой культуры c, о чистом доходе b(c,p) от выращивания каждой культуры по каждому её предшественнику (тыс.руб.) и о множестве полей в севообороте N. Определить оптимальный севооборот. Рекуррентная формула для решения: c 0 = c #N = const; q(#N,c #N ) = 0; q(n,c n ) = max c n P n (c n+1 ) (q(n+1,c n+1 ) + b(c n+1,c n )), тыс. руб. Любая культура из тех, которые наверняка войдут в оптимальный севооборот
Модели динамического программирования в долгосрочном планировании7 2.Оптимизация севооборотов Начало Зерновые ПарМноголетние II ЗерновыеМноголетние I Картофель ЗерновыеМноголетние II Многолетние IПарКартофель Зерновые Мн. II Конец Пар Сеть допустимых решений и оптимальный путь Зачёркнутые блоки не имеют продолжения, заканчивающегося зерновыми Поле 1 Поле 2 Поле 3 Поле 4 Поле 5 Картофель
Модели динамического программирования в долгосрочном планировании8 2.Оптимизация севооборотов: процедура расчёта Поле 1 Поле 2 Поле 3 Поле 4 Поле 5 1.Зерновые 2.Карто- фель 3.Многолет ние 1 года 4.Многолет ние 2 года 5.Пар Начало q(5,1) = 0 b(1,2)=5 (5) q(5,1) = 0 b(1,4)=5,5 (5,5) q(5,1) = 0 b(1,5)=6 (6) q(4,2) = 5, b(2,1)=4 (9); q(4,5) = 6, b(5,1)=–3 (3). q(4,4) = 5,5 b(4,3)=2,5 (8) q(3,3) = 8 b(3,1)=3 (11) q(3,1) = 9 b(1,2)=5 q(3,1) = 9 b(1,4)=5,5 (14,5) q(3,1) = 9 b(1,5)=6 q(2,1) = 11 b(1,2)=5 (16) q(2,4) = 14,5 b(4,3)=2,5 (17) q(2,1) = 11 b(1,4)=5,5 q(2,1) = 11 b(1,5)=6 (17) q(1,2) = 16, b(2,1)=4 (20); q(1,5) = 17, b(5,1)=–3 (14); q(1,3) = 17, b(3,1)=3 (20) (тыс. руб.) Стрелки обозначают связь «предшественник культура»
Модели динамического программирования в долгосрочном планировании9 2. Оптимизация севооборотов Направления совершенствования модели Оптимизация числа полей в севообороте: Оптимизация числа полей в севообороте: теорема о единственности каждой культуры в оптимальном севообороте. теорема о единственности каждой культуры в оптимальном севообороте. Учёт действия предпредшественника: Учёт действия предпредшественника: b(c,p) заменяется на b(c,p 0,p 1 ), в остальном вычислительная процедура остаётся прежней. b(c,p) заменяется на b(c,p 0,p 1 ), в остальном вычислительная процедура остаётся прежней. Учёт баланса питательных веществ, микрофлоры почвы, других агрономических требований, ограничение дисперсии доходов: Учёт баланса питательных веществ, микрофлоры почвы, других агрономических требований, ограничение дисперсии доходов: не могут быть эффективно решены методом динамического программирования и приводят к задачам целочисленного программирования. не могут быть эффективно решены методом динамического программирования и приводят к задачам целочисленного программирования.
Модели динамического программирования в долгосрочном планировании10 Математическая формулировка (для каждого поля): max n {1,2… t } [b(c n,c n–1 ) / (1+ /100) n ] c n–1 P(c n ); c 0 = const; c t = const. 3.План освоения севооборота Постановка задачи: имеются данные о допустимых предшественниках p P(c) каждой культуры c, о чистом доходе b(c,p) от выращивания каждой культуры по каждому её предшественнику (тыс. руб.), о размещении культур по полям в данном году c 0 и в первый год использования нового севооборота c t, о продолжитель- ности t периода его освоения (лет) и об альтернативной стоимости капитала (%). Определить оптимальный план освоения нового севооборота. Рекуррентная формула для решения ( q(t,c) – доход, тыс. руб. ): c 0 = const; c t = const; q(t,c t ) = 0; q(n,c n ) = max c n P n (c n+1 ) [q(n+1,c n+1 ) + b(c n+1,c n ) / (1+ /100) n ].
Модели динамического программирования в долгосрочном планировании11 Литература Франс Дж., Торнли Дж. Математические модели в сельском хозяйстве. М.: Агропромиздат, Франс Дж., Торнли Дж. Математические модели в сельском хозяйстве. М.: Агропромиздат, Светлов Н.М. Модели динамического программирования для оптимизации севооборотов // Проблемы формирования аграрного рынка России. М.: Изд-во МСХА, – С Светлов Н.М. Модели динамического программирования для оптимизации севооборотов // Проблемы формирования аграрного рынка России. М.: Изд-во МСХА, – С Презентация: Презентация: