close

Вход

Забыли?

вход по аккаунту

...пособие_разработка математических моделей

код для вставкиСкачать
ПЕТРОЗАВОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КАФЕДРА ИНФОРМАТИКИ
ТРОФИМОВ А. А.
РАЗРАБОТКА МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ И АРМ
ДЛЯ ОПТИМАЛЬНОГО ПЛАНИРОВАНИЕ И ПРОГНОЗИРОВАНИЯ
ПРОИЗВОДСТВА НА МНОГООТРАСЛЕВОМ
СЕЛЬСКОХОЗЯЙСТВЕННОМ ПРЕДПРИЯТИИ
ПЕТРОЗАВОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КАФЕДРА ИНФОРМАТИКИ
ТРОФИМОВ А. А.
РАЗРАБОТКА МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ И АРМ ОПТИМАЛЬНОГО
ПЛАНИРОВАНИЯ СЕЛЬСКОХОЗЯЙСТВЕННОГО ПРОИЗВОДСТВА
УЧЕБНОЕ ПОСОБИЕ
ПЕТРОЗАВОДСК 1997 Г
Оглавление
ВВЕДЕНИЕ ................................................................................................................................................ 4
ГЛАВА 1. ИНФОРМАТИЗАЦИЯ АГРОПРОМЫШЛЕННОГО КОМПЛЕКСА ......................... 5
1.1. НЕКОТОРЫЕ МОДЕЛИ ОПТИМАЛЬНОГО ПЛАНИРОВАНИЯ СЕЛЬСКОГО ХОЗЯЙСТВА............................... 6
ГЛАВА 2. РАЗРАБОТКА МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ ........................................................ 7
2.1. СОДЕРЖАНИЕ ЗАДАЧИ .......................................................................................................................... 7
2.2. ПОСТАНОВКА ЗАДАЧИ ........................................................................................................................... 8
2.3. ПОСТРОЕНИЕ МОДЕЛИ ДЛЯ РАСТЕНИЕВОДСТВА ................................................................................... 8
2.4. ПОСТРОЕНИЕ МОДЕЛИ ДЛЯ СТАДА КРУПНОГО РОГАТОГО СКОТА ...................................................... 11
2.4.1. Моделирование оборота стада................................................................................................ 13
2.5. МОДЕЛИРОВАНИЕ СВИНОВОДСТВА ..................................................................................................... 16
2.5.1. Моделирование оборота стада свиней .................................................................................. 21
2.6. ЗАДАЧА И МОДЕЛЬ ОБЪЕМНОГО ПЛАНИРОВАНИЯ ЗВЕРОВОДСТВА ..................................................... 27
2.6.1. Построение модели планирования звероводства. .................................................................. 28
2.6.2. Моделирование оборота стада зверьков ................................................................................ 30
2.6.3. Вклад звероводтва в целевую функцию ................................................................................... 31
2.7. РАСЧЕТЫ ЭКОНОМИЧЕСКИХ ПОКАЗАТЕЛЕЙ ........................................................................................ 32
ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ РЕШЕНИЯ ЗАДАЧИ............................................ 34
3.1. ОПИСАНИЕ АРМ. ................................................................................................................................ 34
3.2. БАЗА ДАННЫХ АРМ. ........................................................................................................................... 35
3.2.1. Описание файлов БД АРМ. ........................................................................................................ 35
3.2.2. Проектирование видов экранов для файлов БД ...................................................................... 38
3.3. АЛГОРИТМ ПРОГРАММЫ ФОРМИРОВАНИЯ МАТРИЦЫ МАТЕМАТИЧЕСКОЙ МОДЕЛИ........................... 41
3.4. ИНСТРУКЦИЯ ПО ЗАГРУЗКЕ ИНФОРМАЦИИ В БАЗУ ДАННЫХ АРМ И ЭКСПЛУАТАЦИИ СИСТЕМЫ. ..... 46
Список литературы: ........................................................................................................................... 51
ПРИЛОЖЕНИЕ 1 ................................................................................................................................... 52
1.1. ФОРМЫ НЕКОТОРЫХ ВЫХОДНЫХ ДОКУМЕНТОВ ................................................................................. 52
ВВЕДЕНИЕ
В то время, как промышленные предприятия достаточно продвинулись в
области использования средств вычислительной техники, математических методов и
моделей в объемном, календарном, оперативно-календарном и оперативном
планировании производства [1,2], на сельскохозяйственных предприятиях эта работа
находится на начальной стадии. Проблемы оптимального планирования сельского
предприятия практически не разработаны ни с точки зрения формулировки
математических моделей, ни с точки зрения их программной и практической
реализации. Одна из причин такого положения, видимо, заключается в том, что
модели оптимального планирования до недавнего времени могли быть реализованы
лишь на универсальных ЭВМ, которыми сельскохозяйственные предприятия не
располагали.
Появление персональных компьютеров (ПК), возможности которых быстро
растут, а также параллельный рост возможностей оптимизационных пакетов
прикладных программ для ПК, делает реальной разработку и использование моделей
оптимального планирования сельскохозяйственного производства с целью поиска
решений, обеспечивающих максимизацию прибыли хозяйства или поиск
оптимальных технологических решений. Однако, проблема эта достаточно сложна и
может быть решена только в рамках взаимосвязанного комплекса математических
моделей.
По аналогии с решением задач планирования промышленного предприятия,
этот комплекс моделей должен начинаться с моделей объемного планирования
производства, в которых определяются общие оптимальные объемы производства на
длительном интервале времени, сопоставимом с годом. Здесь должна определяться
оптимальная специализация хозяйства, оптимальное соотношение объемов
производства продукции различными его отраслями для удовлетворения как
внутренних потребностей, так и для продажи с учетом взаимосвязи и
взаимозависимости отраслей и с целью получения устойчивой на длительном
интервале прибыли. При этом, в основном, необходимо ориентироваться на свои
ресурсы. При решении этой задачи можно ориентироваться на укрупненную
усредненную информацию об условиях функционирования хозяйства.
В оперативно-календарном режиме должны решаться учетно-расчетные
задачи. На основе их базы данных могут решаться задачи оптимизации оборота стад,
поиска оптимального севооборота и т. д. Решение этих задач требует знания
достаточно детальной информации о структуре стад, вкладе каждой возрастной
группы в прибыль или убытки животноводства с тем, чтобы найти экономически
обоснованный для каждого животного момент выбраковки. Связь с первой моделью
здесь будет состоять в получении из нее информации об оптимальных объемах
заготовки кормов, о количестве выбраковываемых и вновь вводимых в маточное
стадо животных по годам горизонта планирования.
Решение задачи расчета
оптимального севооборота должно опираться на учетную информацию о
предшественниках конкретных земельных участков, о типах севооборота, в которые
входят участки. Из модели объемного планирования в этой задаче будет
использоваться информация о запланированных оптимальных объемах посевов
(посадок) каждой культуры. Решение рассмотренных выше задач может быть
основой для принятия управленческих решений.
В оперативном режиме может решаться задачи планирования
хозяйственной и финансовой деятельности, связанные с непрерывным финансовым
обеспечением производственного процесса. Здесь целью решения может быть
минимизация потерь от досрочной выбраковки скота, преждевременной уборки
урожая или привлечения банковских кредитов для решения неотложных
финансовых проблем текущей деятельности. Необходимо найти оптимальное
сочетание различных путей решения задачи, а также определить когда и какие
расходные пункты финансового плана целесообразно выполнять в зависимости от
объемов и приоритетов платежей, моментов и объемов поступления денежных
средств. Неплохо было бы также иметь прогноз об ожидаемых объемах свободных
денежных средств.
В данной работе рассмотрен полный комплекс проблем от постановки задачи,
ее математической формулировки и до реализации в виде автоматизированного
рабочего места (АРМ) для задачи оптимального объемного планирования
сельскохозяйственного производства на трехлетнем интервале функционирования
хозяйства. Работа предназначена для студентов, аспирантов, преподавателей
специализации прикладная математика и кибернетика, информатика и
математическое обеспечение, а также для лиц, принимающих плановые решения по
производству на сельскохозяйственных предприятиях. АРМ плановика может
представлять
интерес
для
студентов,
аспирантов
и
преподавателей
сельскохозяйственного профиля как модельный инструмент для решения некоторых
экономических задач планирования и анализа влияния на прибыль
производственных факторов, поиска путей повышения эффективности
производства. Так как, в последнее время появляется всё больше АРМ различного
назначения на ПК, то АРМ может быть полезна будущим специалистам сельского
хозяйства для получения навыков работы с такими системами на занятиях по
информатике. Осознанное использование АРМ потребует от студентов
синтетических знаний о своей отрасли и будет стимулировать процесс познания.
Глава 1. Информатизация агропромышленного
комплекса
Как отмечается в материалах общесоюзной научно-технической конференции:
“Иформатизация АПК” [3], в условиях становления рыночных отношений
возростает роль информатизации, позволяющей повысить эффективность
производства и качество продукции. По использованию микропроцессорной,
вычислительной и коммуникационной техники аграрный сектор Росси отстает от
развитых зарубежных стран на 25-30 лет, и этот разрыв, пожалуй больше, чем в
уровне технического оснащения российских фермерских хозяйств по сравнению с
западноевропейскими и американскими.
Всеобщий кризис в агропромышленном производстве России многократно
усложнил научно-иформационное обеспечение сельских товаропроизводителей, а их
финансовое положение сводит на нет возможность инвестиций в компьютерное и
коммуникационное оборудование. А ведь потребность в достоверной и оперативной
информации с переходом к рынку неизмеримо возрастает.
Информатизация всех сторон жизни общества, широкое использование в этих
целях современных технических средств позволяет говорить о рубеже XXI века как
о переходе от постиндустриального к информационному обществу, ставящему
новые проблемы и задачи. И если нам в ближайшие 7-10 лет не удастся
ликвидировать разрыв в уровне информатизации по сравнению с развитыми
зарубежными странами, то Россия не сможет догнать их в этом отношении.
1.1. Некоторые модели оптимального планирования сельского
хозяйства.
Некоторые аспекты планирования сельскохозяйственного производства c
использованием математических моделей рассматриваются в работах [4,5,6,7,8].
В работах [4,5,6] Фроловой Л.А. рассматриваются региональные аспекты
планирования сельскохозяйственного производства Латвийского АПК. В них
рассматривается балансово-оптимизационная модель в виде статической задачи
линейного программирования. Задачи представляют интерес для регионального
уровня планирования, нас же в данном случае интересует планирование
производства на уровне сельхоз предприятия.
В работе [7] рассматриваются вопросы моделирования внутрихозяйственного
планирования и создания автоматизированной системы плановых расчетов для
растениеводческой отрасли сельского хозяйства. Здесь отсутствует комплексность
рассмотрения: не рассматривается животноводство и его взаимосвязь с
растениеводством. Однако, работа может быть хорошим дополнением к данной как
модель оперативно-календарного уровня управления. Тогда на первом уровне
оптимизационных расчетов будут найдены оптимальные объёмы производства
сельскохозяйственных культур и необходимые для этого площади земель с учетом
их качества. По модели, предлагаемой в работе [7], могут быть рассчитаны
технологические карты возделывания культур с учетом типоразмеров и
производительности техники.
В работе [8] предлагается имитационная модель прогноза развития
фермерского хозяйства под влиянием ценовой, налоговой и кредитной политики
государства в области сельскохозяйственного производства. В ней реализуются идеи
так называемых модельных стендов. Рассматривается группа фермерских хозяйств с
разным исходным состоянием основных фондов и оборотных средств и
определяется их выживаемость на протяжении пяти лет в зависимости от
экономической политики государства. Работа интересная, но в ней животноводство
не рассматривается. не учитывается зависимость животноводства от
растениеводства, не ставится задача полного обеспечения животноводства кормами,
не учитываются биологические возможности по воспроизводству стад.
Глава 2. Разработка математических моделей
2.1. Содержание задачи
Рассматривается многоотраслевое сельскохозяйственное предприятие, которое
занимается растениеводством, молочным животноводством и, может быть,
свиноводством, звероводством, переработкой своей продукции и т. д. Имея
определенные ресурсы земли, людские, технические и так далее, хозяйство может
выращивать определенный набор сельскохозяйственных культур. Однако, решить
прямым счетом чего и сколько нужно производить, опираясь в основном на свои
ресурсы, не так просто. Дело в том, что задача эта многовариантная, имеет
достаточно большую размерность. Кроме того, между отраслями производства в
хозяйстве существует взаимосвязь и взаимозависимость, которая не должна
нарушаться при принятии решений.
Животноводство напрямую связано с растениеводством, но и растениеводство
не может быть продуктивным без достаточного количества органических удобрений.
Если в хозяйстве есть свой забойный пункт, то зная объёмы забоя животных можно
рассчитать, сколько зверей можно содержать опираясь, в основном, на свои корма. В
этих условиях найти наиболее эффективное решение прямым счетом невозможно. С
другой стороны, это обычная задача математического программирования, которая
может быть решена, например, методами линейного программирования [9,10]. Для
этого достаточно за целевую функцию принять
прибыль, которую надо
максимизировать, а условия функционирования хозяйства описать в ограничениях
модели.
В принципе задачу объёмного планирования производства достаточно было
бы решать для горизонта в один год - естественного цикла воспроизводства
продукции растениеводства. Но тогда пришлось бы вводить в модель ряд
дополнительных ограничений, обеспечивающих какую-то сохранность стада
животных. Есть опасность, что на таком горизонте функционирования хозяйства
оптимальным может оказаться полный забой стада. Нам же хотелось бы найти
решение не только оптимальное, приносящее наибольшую за один год прибыль, но и
устойчивое, обеспечивающее высокую прибыль в каждый год горизонта
планирования. Поэтому будем строить модель не на однолетнем, а трехлетнем
горизонте, чтобы прослеживать последствия принимаемых решений как ожидаемую
прибыль ещё два последующих года.
Задачу будем решать в рамках модели линейного программирования, где
условия функционирования хозяйства могут быть описаны рядом линейных
ограничений (равенств или неравенств) и одной целевой функцией. В соответствии
со стоящей задачей, будем формулировать целевую функцию в виде разности дохода
от реализации продукции и связанных с производством продукции прямых затрат.
Косвенные затраты, например, связанные с содержанием социальной сферы или
отоплением животноводческих помещений, как правило, в модели не учитываются,
так как они напрямую не зависят от тех оптимальных решений, которые
отыскиваются в модели. Доходы и затраты хозяйства будем считать по отраслям
производства и по годам горизонта планирования. В данном случае рассматриваем
растениеводство, молочное животноводство, свиноводство и звероводство в их
взаимосвязи, а также переработку мяса. Пусть
ZRg- затраты растениеводства за g-ый год;
TPRg- товарная продукция растениеводства за g-ый год;
ZJg- затраты животноводства за g-ый год;
TPJg- товарная продукция молочного животноводства за g-ый год;
ZSg- затраты свиноводства за g-ый год;
TPSg- товарная продукция свиноводства за g-ый год;
ZZg - затраты животноводства за g-ый год;
TPZg- товарная продукция молочного животноводства за g-ый год;
SHg -штрафы за дефицит ресурсов в g-ый год;
PRg - прибыль от переработки мяса.
Тогда нам нужно построить целевую функцию:
max
{  [ TPRg+ TPJg+ TPSg+ TPZg- ZRg- ZJg- ZSg- ZZgg
SHg+ PRg]}
2.2. Постановка задачи
Известны условия функционирования хозяйства. То есть имеющееся
количество земли конкретного качества; средняя урожайность земли каждого
качества для каждой культуры; трудоемкость ручных и механизированных работ
для полного цикла возделывания и уборки каждой культуры на земле каждого
конкретного качества; потребность каждой культуры в органических и минеральных
удобрениях в зависимости от качества земли. Известно исходное состояние стада
крупного рогатого скота и стада свиней по возрастным группам. Заданы нормы
потребления кормов животными всех возрастных групп за год, период роста до
перехода в следующую возрастную группу или до выбраковки на забой. Известна
трудоемкость ручных и механизированных работ по содержанию животных за год
или период роста, если период роста меньше года. Задано имеющееся состояние по
наличию трудовых ресурсов для выполнения ручных и механизированных работ.
Известны рыночные цены на корма и себестоимость производства собственных
кормов, а также текущие рыночные цены на сельхоз продукцию и расценки по
оплате труда. Известны достигнутые хозяйством показатели по среднему надою на
корову, по весу реализуемых на забой животных, а также стоимость продаваемых на
племя животных, расценки нормо-часа ручных и машинных работ в земледелии и
животноводстве. Даны проценты ежегодной выбраковки свиней и коров из
маточного стада, количество телят рождающихся за год от ста коров, среднее
количество поросят рождающихся за один раз. Последнюю величину назовем
коэффициентом рождаемости. Предполагается известной дополнительная прибыль,
получаемая хозяйством от переработки единицы своей продукции, если оно
занимается переработкой. По ходу построения модели введем и другую
необходимую информацию.
Требуется, в заданных условиях функционирования хозяйства, найти такой
вариант плана производства на каждый год трехлетнего горизонта, чтобы хозяйство
получило на этом интервале функционирования максимальную прибыль. При этом,
оборот стад на всем горизонте планирования необходимо моделировать исходя из
средних биологических циклов воспроизводства животных.
2.3. Построение модели для растениеводства
Здесь необходимо записать ограничения по использованию земли под все
возделываемые культуры в пределах имеющихся площадей по видам, а также
выразить в математическом виде доход и затраты растениеводства, чтобы через них
выразить максимизируемую в целевой функции прибыль. Однако, прямая запись
этих требований в математическом виде, в ряде случаев, может привести к
недопустимому решению из-за недостатка ресурсов земли или труда для
обеспечения запрашиваемых темпов роста объемов производства. Недопустимое
решение не конструктивно и ничего не говорит не специалисту в математике или
вообще
не
выводится
программой-оптимизатором.
Поскольку система
разрабатывается для неспециалистов в области математики, то введем в ограничения
дополнительные переменные, которые будут показывать возможные дефициты
земли, трудовых ресурсов и обеспечат разрешимость задачи во всех случаях.
Дополнительные переменные будут показывать так называемые “узкие места”.
Чтобы они принимали в решении нулевые значения, в тех случаях, когда оно может
быть найдено в пределах имеющихся ресурсов, введем эти переменные с некоторым
штрафом в максимизируемую целевую функцию со знаком минус . Тогда любое
положительное значение дополнительной переменной приведет к снижению
значения целевой функции. Поэтому, если существует лучший вариант плана при
нулевых значениях дополнительных переменных, то он будет найден
оптимизатором.
Введем обозначения. Пусть
G - множество лет горизонта планирования, gG={1,2,3};
I - множество видов земель,классифицируемых по качеству, iI;
Zig- имеющаяся площадь земли i-го качества в g-м году;
J - множество возделываемых хозяйством сельхозкультур jJ;
Jk - множество сельхоз культур, являющихся кормом для скота, JkJ; J/Jk культуры, не используемые для корма;
aijg- урожайность j-ой культуры на i-ой земле;
r
t ijg -
трудоемкость
ручных
работ
по
возделыванию
j-ой
культуры
на земле i-го вида в g-ом году в нормо-часах;
m
t ijg -
трудоемкость
в
нормо-часах
механизированных
возделыванию j-ой культуры на земле i-го вида в g-ом году,
внесение удобрений;
работ
по
включая вывозку и
uij - количество органических удобрений, требуемое на один га под j-ую
культуру на i-ой земле;
Sij - стоимость минеральных удобрений, необходимых на 1 га при
возделывании j-ой культуры на i-ой земле;
r
Tg -
трудовые
ресурсы
хозяйства для
выполнения ручных
работ
в
растениеводстве на g-ый год в нормо-часах;
m
T g - трудовые ресурсы хозяйства для выполнения механизи-рованных работ в
растениеводстве на g-ый год в нормо-часах;
cig - стоимость реализации j-ой культуры в g-ом году;
r
R g - cтоимость нормо-часа ручных работ в растениеводстве;
m
R g - cтоимость нормо-часа механизированных работ в растениеводстве;
z
S H g - штраф за нехватку 1 га земли i-го вида в g-ом году;
r
S H g - штраф за недостающий нормо-час ручных трудовых ресуров в g-ом
году;
m
- штраф за недостающий нормо-час механизированных трудовых
SH g
ресурсов в g-ом году;
o
S H g - штраф за нехватку единицы органических удобрений в g-ом году.
r
- объем ручных трудовых ресурсов в растениеводстве;
m
- объем механизированных трудовых ресурсов в растениеводстве в g-ом
TO g
TO g
году.
Искомыми являются:
xijg- план посева (посадки) в га j-ой культуры на i-ой земле в g-ом году;
ZEig-дефицит i-ой земли в g-ом году в га;
r
T R g - дефицит ручных трудовых ресурсов в растениеводстве в g-ом году;
m
T R g - дефицит механизированных трудовых ресурсов в растениеводстве в g-ом
году;
pjg - объемы производства j-ой культуры в g-ом году;
ojg - остатки кормов собственного производства после удовлетворения
потребностей своих животных;
NUg-дефицит органических удобрений в g-ом году.
Запишем ограничения. Прямая запись ограничений по использованию
земли имела бы вид:
 x ijg
  Z ig
j  J, g G
j
Однако, такая запись ограничений может привести к недопустимому решению,
например, из-за недостатка земли для запрашиваемой интенсивности прироста стада.
Эта форма записи ограничений называется “жесткой”. Чтобы избежать
недопустимости запишем зти ограничения в так называемом “мягком” виде:
 x ijg
 ZE ig   Z ig
j  J , g G
(1)
j
Переменную ZEig- введем в максимизируемую целевую функцию со знаком
минус и умножим на штраф S H gz . Тогда она не будет без необходимости принимать
положительного значения в решении, но, при необходимости, позволит избежать
недопустимости. В этих ограничениях мы записали знак “<=“, потому, что для
ограничений неравенств быстрее находится решение. Мы не будем включать в
целевую функцию остатки неиспользованной земли. Однако, если включить их со
знаком минус, то это означало бы, что неиспользуемая земля тоже приносит доход.
Впрочем, если у хозяйства есть возможность сдавать в аренду неиспользуемую
землю, то ограничения (1) следует записать со знаком равенства. Тогда штраф за
дефицит должен быть равен арендной плате.
При заданной урожайности земли ограничения (1) определяют объемы
производства продукции растениеводства, но для того, чтобы иметь в решении в
явном виде объемы производства продукции растениеводства, запишем уравнения:
 a ij x ijg
 p ig  0
j  J, g G
(2)
i I
Ограничения на использование ручной и механизированной рабочей силы в
растениеводстве запишем в виде:
  t ijg x ijg
 TRg  TO g
  t ijg x ijg
 TM g  TO g
r
r
r
g G
(3)
g G
(4)
i I j J
m
m
m
i I j J
Доход растениеводства в g-ом году можно записать равенством:
 c jg p jg
TP R g 
g G
(5)
j J
Затраты растениеводства с учетом стоимости удобрений выразят-ся
формулами:
ZR g 
  ( R g t ijg
r
r
m m
 R g t ijg  S IJ ) x iIg
g G
(6)
i I j J
Потребность растениеводства в навозе PNg может быть вычислена как
PNg= 
i I
 u ij x ijg
g G
j J
Однако, вся продукция растениеводства не может быть товарной, так как
растениеводство должно обеспечивать свое стадо КРС и свиней кормами. Чтобы
определить собственные потребности в кормах необходимо, зная исходное
состояние стада, промоделировать его оборот на трехлетнем интервале.
2.4. Построение модели для стада крупного рогатого скота
Поскольку поставленная задача относится к классу задач объемного
планирования, то есть нам необходимо найти общие оптимальные объемы
производства продукции, то будем учитывать следующие укрупненные стадии роста
и развития крупного рогатого скота (КРС): телята, молодняк на откорме или нетели,
коровы. Предполагаем, что стадия теленок длится год от рождения до годовалого
возраста. Через год жизни теленок переходит в стадию молодняка на откорме или в
нетель, если теленок предназначен для перевода в стадо коров на племя. Эту стадию
также считаем длящейся год. Таким образом, через два года жизни родившийся
теленок либо переводится в маточное стадо, либо продается на племя, либо
реализуется на забой.
Там, где речь идет о нормах потребления кормов животными в дальнейшем
будем иметь в виду, что они для взрослого животного маточного стада заданы на
год. Для остальных животных нормы заданы на период их нахождения в возрастной
группе, если этот период меньше года. Таким образом, если молодняк на откорме
реализуется на мясо, например, через десять месяцев второго года, то и нормы
потребления для них следует заложить на эти десять месяцев. Если поросенок
условно через четыре месяца переводится в категорию молодняка на откорме, то и
нормы его потребления будем задавать на четыре месяца.
Введем необходимые для построения модели обозначения для средних по
хозяйству показателей, норм, нормативов, коэффициентов и переменных.
Пусть
коэффициент рождаемости животных, то есть отношение числа
рождающихся за год животных к численности маточного стада для КРС; среднее
число животных рождающихся за один раз для свиней;
коэффициент выбраковки или отношение количества списываемых из
маточного стада животных к их средней численности;
доля годных для перевода в маточное стадо животных в общем числе
рождающихся;
Vjg - вес j-го животного в g-ом году;
Ug - средний удой от коровы в g-ом году;
nfjg-норма потребления кормов j-го корма за год или период роста f-го
животного в g-м году;
Nf - количество навоза для удобрения земли, получаемое от одного животного
f-го вида за год или период роста;
r
t fg - трудоемкость ручных работ по содержанию одного животного f-го вида в
течение года или за период роста;
m
t fg -трудоемкость механизированных работ по содержанию одного животного
f-го вида в течение года или за период роста;
S1g- отпускная стоимость молока в g-ом году;
S2g - отпускная стоимость мяса КРС в живом весе;
S3g - стоимость племенного бычка в g-ом году;
S4g - стоимость племенной нетели в g-ом году;
cjg - cтоимость j-го корма;
r
R ig - стоимость нормо-часа ручных работ в животноводстве в g-ом году;
m
R jg - стоимость нормо-часа механизированных работ в животноводстве в g-ом
году;
r
SJ g - штраф за дефицит нормо-часа ручных работ в животноводстве в g-ом
году;
m
штраф
SJ g -
за
дефицит
нормо-часа
механизированных
работ
в
животноводстве в g-ом году;
r
T Pg - объём трудовых ресурсов
для выполнения
ручных работ в
животноводстве в g-ом году;
m
T Pg -объём трудовых ресурсов для выполнения механизированных работ в
животноводстве в g-ом году.
Искомыми являются:
Jfg - поголовье животных f-го вида в начале g-го года;
r
TJ g - дефицит трудовых ресурсов для ручных работ в животноводстве в g-ом
году;
m
- дефицит трудовых ресурсов для механизированных работ в
TJ g
животноводстве в g-ом году;
Zg - количество нетелей, переводимых в маточное стадо в g-ом году.
В этих обозначениях потребности животноводства в кормах и остатки кормов
собственного производства могут быть найдены из ограничений
 n f jg J f g  o jg 
pig  0
j  J k , g G
(7)
f F
Это ограничение требует также, чтобы собственные потребности были
удовлетворены полностью. В противном случае остатки OJg будут отрицательными
и доход от реализации продукции превратится в затраты по приобретению кормов,
если JK - множество кормов собственного производства для животных. С учетом
вышесказанного товарная продукция растениеводства за вычетом собственных
потребностей выразится не равенствами (5) параграфа 2.3, а равенствами:
 c jg o ij   c jg p jg
TP R g 
j Jk
g G
(8)
j  J \ Jk
Таким образом, от растениеводства в целевую функцию войдет составляющая
 ( T P R g  ZR g )   (  c jg o jg
g G
g G
j Jk

 c jg p jg
 ZR g )
Потребности животноводства в трудовых ресурсах
механизированных работ можно записать ограничениями:
 t fg J fg
 T J g  T Pg
 t fg J fg
T J g  T Pg
r
(9)
j  J \ Jk
для
ручных
r
r
g G
(10)
m
m
g G
(11)
и
f F
m
f F
Запишем ограничения, описывающие оборот стада КРС на
горизонте планирования.
2.4.1. Моделирование оборота стада
Пусть
трехлетнем
J1g - поголовье коров в начале g-го года;
J2g - поголовье нетелей ( возраст от 1-го до 2-х лет ) в g-ом году;
J3g - поголовье бычков на откорме в возрасте от 1-го до 2-х лет в g-ом году;
J4g - поголовье телят в начале g-го года (возраст до 1-го года):
Jf1 - известное исходное состояние стада, f  F; а Jfg - искомые величины для g
G и g=1. В следующем году, если абстрагироваться от падежа стада, коров будет
меньше на величину средней выбраковки и больше на количество нетелей,
переведенных в основное стадо. То есть

J12=(1-J11 + Z1
J13=(1-J12 + Z2
(12)
(13)
Поскольку при решении задачи известные величины должны быть справа от
знака равенства, а неизвестные слева, то в модели эти ограничения будут иметь вид:
J12 - Z1=(1-J11
(1-J12 - J13 + Z2=0
(14)
Тогда нетрудно подсчитать ожидаемую численность телят через год и через
два года:
J42=(1-J11 + Z1
J43=(1-J12 + Z2
или
J42 - Z1=(1-J11
(1-J12 - J43 - Z2=0
(15)
Ожидаемую численность нетелей во втором и третьем годах можно вычислить
по формулам:
J22 =J14
J23 =J42=(1-J11+Z1
или
J22 =J41
J23 -Z1=(1-J11
(16)
Остальных телят и бычков будем откармливать на забой, а численность их
определим уравнениями:
J32 =(1-g)J41
J33 - (1-g)Z1=(1-g)(1-J11
(17)
Воспроизводство стада может быть полным и не полным. Это зависит от того,
можем ли мы перевести из нетелей в коровы столько животных, сколько
выбраковываем или не можем или не хотим по экономическим соображениям. Ясно,
что Zg не может быть больше J2g, так как нельзя перевести в стадо нетелей больше,
чем есть в наличии, поэтому должны выполняться ограничения:
J2g -Zg0
gG
(18)
Если же мы хотим обеспечить неубывающее воспроизводство стада, то в
модель необходимо включить также ограничения:
J1g -Zg0
gG
(19)
Количество навоза, получаемого от фермы КРС определим из равенств:
KNg=  N f J
fg
gG
f F
Хотелось бы, чтобы KNg, было больше потребности в навозе PNg, но это
может быть не всегда верно. Поэтому ограничение для потребности в навозе
запишем в “мягком” виде. Пусть NUg - недостаток навоза в g-ом году, тогда
KNg - PNg + NUg0
или, используя последнюю формулу параграфа 2.3 получим
N
f
J
=
fg
f F
 u ij x ijg +NUg0
i I
gG
(20)
j J
Ограничения по трудоемкости содержания животных
механизированным работам для фермы КРС запишем в виде:
  t ijg x ijg
r
r
r
 T J g  T Pg
g G
по
ручным
и
(21)
i I j J
  t ijg x ijg
r
m
m
 T J g  T Pg
g G
(22)
i I j J
Определим целевую функцию для фермы КРС. Доход фермы будет складываться из
стоимости молока, стоимости мяса, продажи скота на племя. Товарную продукцию
фермы КРС найдем из равенств:
(U g S 1 g   V 1 g S 2 g ) J 1 g  V 2 g S 2 g ( J 2 g  Z g  y g ) 
g G
(23)
 S 3 g x g  S 4 g y g  V 3 g S 2 g ( J 3 g  x g )  TP J g  0
Для того, чтобы вычислить прямые затраты молочного животноводства введем в
модель равенства:
4
  n f j c jg J
f 1
4
fg
 ( R J g t fg
r

r
m
m
 R J g t fg ) J
g G
 ZJg 0
fg
(24)
f 1
j
С учетом (9,23,24) и возможных штрафов, в целевую функцию от растениеводства и молочного животноводства войдет составляющая:
 (T P R g
 Z R g ) +  (TP J g  ZJ g ) 
g
 ( SH g T R g
r
 SH ig ZE ig  SH g N U g  SJ g TJ g  SJ g TJ g
i
o
m
m
 SH g T R g 
g
g
z
r
r
r
m
m
)
(25)
2.5. Моделирование свиноводства
При моделировании оборота стада свиней предполагается, что стадо делится
на пять видов животных: свиноматок, откормленных свиней, которые должны быть
забиты на мясо или переведены в племенное стадо, свиней на откорме и поросят.
Моделируя оборот стада свиней будем предполагать, что циклы их развития
поделены на интервалы в четыре месяца. При этом предполагаем, что свиноматка
приносит приплод через четыре месяца после покрытия. Фактически этот срок в
среднем составляет три месяца, три недели и три дня. В течение первых четырех
месяцев приплод будем называть поросятами. После четырех месяцев поросята
переходят в свиней на откорме. Восьмимесячных свиней будем считать готовыми
для перевода в маточное стадо или для забоя. Выбраковку предполагаем в конце
года. Предполагаем, что свиноматка через четыре месяца после покрытия приносит
поросят. Следующие четыре месяца она откармливает поросят и отдыхает. В конце
четырехмесячного интервала свиноматка покрывается и через четыре месяца
приносит новый приплод.
Введем обозначения:
свиноматок в начале g-го года или в иходном состоянии;
J 5 g - поголовье
J 6 g - количество откормленных свиней, готовых к забою в начале g-го года;
J 7 g - количество свиней на откорме возраста четырех и более месяцев в начале
g-го года;
J 8 g - количество поросят до четырех месяцев, находящихся на откорме в
начале g-го года;
J 9 g - количество племенных хряков в начале g-го года;
S1, S2, S3, S4, S5 - норма площади свинарника, требуемая для одной
свиноматки, откормленной свиньи, свиньи на откорме, поросенка и хряка
соответственно;
 - нормативное соотношение количества хряков к количеству свиноматок;
 - среднее количество поросят, рождающихся у свиноматки за один опорос;
 - доля поросят, пригодных для перевода в маточное стадо от всех
родившихся;
r
S S g - штраф за нормо-час дефицита трудовых ресурсов для ручных работ в
свиноводстве в g-ом году;
m
S S g - штраф за нормо-час дефицита трудовых ресурсов для механизированных
работ в свиноводстве в g-ом году;
r
T T g - объём трудовых ресурсов для выполнения ручных работ в свиноводстве
в g-ом году;
m
T T g - объём трудовых ресурсов для выполнения механизированных работ в
свиноводстве в g-ом году.
Искомыми являются:
r
T S g - дефицит трудовых ресурсов для ручных работ в свиноводстве в g-ом
году;
m
T S g - дефицит трудовых ресурсов для механизированных работ в свиноводстве в g-
ом году.
Искомыми являются также поголовья всех групп животных на конец каждого
четырехмесячного интервала трехлетнего горизонта планирования. Чтобы найти эти
величины, нужно смоделировать оборот стада на этом интервале. Для этого введем
промежуточные искомые переменные:
Rkg- количество свиней, переводимых в маточное стадо в k-ый
четырехмесячный интервал g-го года, где k изменяется от одного до трех;
Ygk- количество поросят, родившихся в первом и во втором (k-ом)
четырехмесячном интервале g-го года.
Рассчитаем изменение состояния стада на трехлетнем интервале с
контрольными точками через четырехмесячные отрезки.
Поголовье животных в исходном состоянии в выбранных обозначениях будет
равно J 51 , J 61 , J 71 , J 81 , J 91 .
Через четыре месяца откормленных свиней, очевидно, будет J 71 , так как за
это время четырехмесячные поросята подрастут. В категорию поросят на откорм
перейдут J 81 поросят. Здесь мы можем оказать первое управляющее воздействие на
систему: перевести R11 взрослых свиней в маточное стадо и соответственно  R11 в
стадо хряков. Тогда, если абстрагироваться от падежа скота, количество свиноматок
будет равно J 51  R11 , а количество хряков J 91   R11 . Для забоя останется
J 71  (1   ) R11 животных. Таким образом, в конце первого четырехмесячного
интервала будем считать поголовье свиноматок равным J 51 , а в начале следующего
четырехмесячного интервала J 51  R11 .
Математическую зависимость численности групп животных в контрольных
точках до и после управляющих воздействий запишем в таблицу 1. Здесь
предполагается, что падеж животных отсутствует и все животные группы
одновременно переходят в следующую возрастную группу, а выбраковка
племенного стада производится только в конце года.
Табли ца 1. Состав стада свиней через четырехмесячные
отрезки трехлетнего интервала планирования.
Время
N
состояние
относ-но
начала движения
периода стада
исходное
4 мес
до
после
8 мес
до
после
1 год
до
после
16 мес до
после
A
свиноматки
1
2
3
4
5
6
7
8
9
10 20 мес
11
12 24 мес
13
до
после
до
после
14 28 мес
до
15
после
(1   ) ( J 51  R11  R12 )  (1   )
( R13  R 21  R 22 )  R 23  R31
16 32 мес
до
17
после перевода
в мат стадо
(1   ) ( J 51  R11  R12 )  (1   )
( R13  R 21  R 22 )  R 23  R31
18 36 мес
до
(1   ) ( J
19
после
(1   ) ( J 51  R11  R12 ) 
2
 (1   ) ( R13  R 21  R 22 ) 
 (1   )( R 23  R 31  R 32 )  R 33
J 51
J 51
J 51 
J 51 
J 51 
J 51 
(1 
(1 
(1 
(1 
R11
R11
R11  R12
R11  R12
 )( J 51  R11 
 )( J 51  R11 
 )( J 51  R11 
 )( J 51  R11 
R12 )
R12 )
R12 )
R12 )
 R13
 R13
 R13  R 21
 R13  R 21
(1   )( J 51  R11  R12 )  R13  R 21  R 22
(1   )( J 51  R11  R12 )  R13  R 21  R 22
(1   )[ (1   )( J 51  R11  R12 ) 
 (1   )( R13  R 21  R 22 )]  R 23
(1   )[ (1   )( J 51  R11  R12 ) 
 (1   )( R13  R 21  R 22 )]  R 23
2
2
(1   ) ( J 51  R11  R12 )  (1   )
( R13  R 21  R 22 )  R 23  R31  R32
2
2
R 11  R 12)  (1   )
( R 13  R 21  R 22 )  R 23  R 31  R 32
3
51

Табли ца 1. Состав стада свиней через четырехмесячные отрезки
трехлетнего интервала планирования.
(продолжение)
Время
состояние
относ-но
N начала движения
периода стада
исходное
1
до
2 4 мес
после
3
до
4 8 мес
после
5
до
6 1 год
после
7
8 16 мес до
после
9
10 20 мес до
после
11
12 24 мес до
после
13
B
C
восьмимесячные
четырехмесячные
J 61
J 71
J 71  R11   R11
J 81
J 81  (1   ) R12
 J 51
 J 51  (1   ) R13
 R11
 R11  (1   ) R 21
 ( J 51  R12 )
J 71
J 81
J 81
 J 51
 J 51
 R11
 R11
 ( J 51  R12 )
 ( J 51  R12 )
 ((1   ) R11  R13 )
 ((1   ) R11  R13 )
14 28 мес
15
до
после
 ((1   )( J 51  R12 )   R 21  [ (1   ) R11  R13  R 22 ]
 ((1   )( J 51  R12 )   (1   ) R11   ( R13  R 22 )
16 32 мес
до
 (1   ) R11   ( R13  R 22 )
17
после
 (1   ) R11   ( R13 
 R 22 )  (1   ) R32
 (1   ) 2 ( J 51  R12 ) 
  (1   ) R 21   R 23
 (1   ) 2 ( J 51  R12 ) 
  (1   ) R 21   R 23
18 36 мес
до
 (1   ) 2 ( J 51  R12 ) 
  (1   ) R 21   R 23
 [ (1   ) 2 R11  ( R13 
 R 22 )(1   )]   R31
19
после
 (1   ) 2 ( J 51  R12 )   [ (1   ) 2 R11  (1   )
  (1   ) R 21   R 23  ( R13  R 22 )]   R31
 (1   ) R33
 ( J 51  R12 )  (1   ) R 22
 ((1   ) R11  R13 )
 ((1   ) R11  R13 ) 
 (1   ) R 23
 ((1   )( J 51  R12 )   R 21
 ((1   )( J 51  R12 )   R 21
  R 21  (1   ) R31
Табли ца 1. Состав стада свиней через четырехмесячные отрезки
трехлетнего интервала планирования.
(продолжение)
N
1
2
3
4
5
6
7
8
9
10
11
12
13
Время сост. D
относ.
нач. движ. поросята
пер. стада
исход. J 81
4 мес до
 J 51
после
8 мес до
после
1 год до
после
 J 51
 R11
 R11
 ( J 51  R12 )
 ( J 51  R12 )
16мес до
после
20мес до
после
24мес до
после
 ((1   ) R11  R13 )
 ((1   ) R11  R13 )
E
племенные хряки
J 91
J 91
J 91   R11
J 91   R11
J 91   ( R11  R12 )
(1   )( J 91   ( R11  R12 ))   R13
(1   )( J 91   ( R11  R12 ))   R13
(1   )( J 91   ( R11  R12 ))   R13
(1   )( J 91   ( R11  R12 ))   R13   R 21
 ((1   )( J 51  R12 )   R 21 (1   )( J 91   ( R11  R12 ))   R13   R 21
 ((1   )( J 51  R12 )   R 21 (1   )( J 91   ( R11  R12 ))   ( R13  R 21  R 22 )
 [ (1   ) R11  R13  R 22 ] (1   )( J 91   ( R11  R12 ))   ( R13  R 21  R 22 )
 [ (1   ) R11  R13  R 22 ] (1   ) 2 (
 (

)) 
J 91
R11
R12
 (1   )  ( R13  R 21  R 22 )   R 23
14 28мес до
 [ (1   ) 2 ( J 51  R12 )  (1   ) 2 ( J 91   ( R11  R12 )) 
 (1   ) R 21  R 23 ]
 (1   )  ( R13  R 21  R 22 )   R 23
2
2
после  (1   ) (
15
J 51  R12 )  (1   ) ( J 91   ( R11  R12 ))  (1   )
  (1   ) R 21   R 23
 ( R13  R 21  R 22 )   R 23   R31
16 32мес до
 [ (1   ) 2 R11  ( R13  (1   ) 2 ( J 91   ( R11  R12 ))  (1   )
 R 22 )(1   )]   R31
 ( R13  R 21  R 22 )   R 23   R31
2
2
после  [ (1   )
17
R11  ( R13  (1   ) ( J 91   ( R11  R12 ))  (1   )
 ( R13  R 21  R 22 )   R 23   R31   R32
 R 22 )(1   )]   R31
2
18 36мес до
 [ (1   ) 2 ( J 51  R12 ) 
(1   ) ( J 91   ( R11  R12 ))  (1   )
 (1   ) R 21   R 23  R32 ]  ( R13  R 21  R 22 )   R 23   R31   R32
3
2
после  [ (1   ) 2 ( J 51  R12 ) 
19
(1   ) ( J 91   ( R11  R12 ))  (1   )
 (1   ) R 21   R 23  R32 ]  (
R13  R 21  R 22 )  (1   )(  R 23 
  R31   R32   R33
2.5.1. Моделирование оборота стада свиней
Теперь можно записать математическую модель оборота стада свиней, для
этого свяжем промежуточные переменные с исходными. Ясно, что
(1)
R11   J 71
так как в маточное стадо можно перевести не больше пригодных для перевода
животных из имеющихся J 71 , что указано в клетке В3. Из тех же соображений
получаем ограничения:
(1   ) R 12   J 81
(2)
(1   ) R13   J 51
(3)
 
2
(1   ) R 21   R11 
1 
(4)
J 71
 
2
(1   ) R 22   ( J 51 
R 12 )   J 51  1   J 81
(1   ) R 23   ((1   ) R11  R13 )   ((1   )


1 
J 51 ) 
 2  (1   )
1 
J 71 
 2 2
 
 
1
2
(1   )
3

 
2
2
 (1   )
 
2
(1   )
3

(6)
R 22 ) 
2
J   21 J
81
  (1   )
2

51
1
J

71
(7)
2
(1   )
 
J 71 

J 81
(1   ) R 3 2   (1   ) R 1 1   ( R 1 3 

1 
J 7 1    1   J 5 1  1   J 5 1 
 
2



J 51
1 
(1   ) R 3 1   (1   ) R 1 1   ( R 1 3 
 (1   )
(5)
2

1
J 8 1
 
R 22 ) 

J 7 1    1   J 5 1  1   J 5 1 
 
2
 2
2
1
  (1   )
2
J

51
1
J

71
2
J 81
(1   )
Из В19 следует, что должно выполняться ограничение
2
(1   ) R 33   [ (1   ) ( J 51  R 12 )   (1   ) R 21   R 23]
после подстановки верхних значений для R12 из (2), R 21 из (4),
R23 из (6) получим
2
(8)
 
3
(1   ) R 33  (  (1   )  
2
 (1   ) 
2

1
3
(1   )
 (1   )
2
2
) J 51  2
(1   )
2
3
J 71 
2
(9)
J 81
Свяжем теперь с исходными данными переменные Xgk,
обозначающие перевод в племенное стадо в k-ом отрезке g-го года хряков. По определению 
X
11

R
11


1
J 71
что следует из (1), но в модели можно ограничиться записью вида
X 11   R11 или в общем виде
(10)
X gk   Rgk , g  { 1, 2, 3,} ; k  { 1, 2, 3} ,
так как Rgk уже связаны с переменными исходного состояния стада.
Из Е7, Е13, Е19 следует, что каждый следующий год ферма начинает с
количеств хряков, описываемых равенствами:
J 92  (1   )( J 91   R11   R12 )   R13
Здесь предполагаем, что вновь переведенные животные в выбраковке не
участвуют.
2
J 93  (1   ) ( J 91   R11   R12 )  (1   )  ( R13  R21  R 22 )  (11)
  R 23
3
2
J 94  (1   ) ( J 91   R11   R12 )  (1   )  ( R13  R21  R22 ) 
 (1   )  ( R23  R31  R32 )   R33
Из А7, А13, А19 следует, что поголовье свиноматок по годам будет
вычисляться по формулам
J 52  (1   ) J 51  (1   ) R11  (1   ) R12  R13
2
2
2
J 53  (1   ) J 51  (1   ) R11  (1   ) R12  (1   ) R13 
 (1   ) R 21  (1   ) R 22  R 23
3
3
3
2
J 54  (1   ) J 51  (1   ) R11  (1   ) R12  (1   ) R13 
2
2
 (1   ) R 21  (1   ) R 22  (1   ) R 23  (1   ) R31 
 (1   ) R32  R33
(12)
Смоделируем, каков же должен быть выход мяса при таком развитии стада.
Пусть
ZMg- количество выбракованных на мясо свиноматок в g-ом году;
ZXg - количество выбракованных в g-ом году хряков;
ZGgk - количество животных, выращенных для забоя в k-ом отрезке g-го года;
Из А6 и А7 таблицы 1 следует, что
Z M 1   ( J 51  R 11  R 12 )
Из клеток А12 и А13 следует, что
Z M 2   (1   )( J 5 1  R 1 1  R 1 2 )   ( R 1 3 
А из А18 и А19 следует, что
2
ZM 3   (1   ) ( J 51  R 11 
  ( R 23 
R 31 
R 32 )
R 21  R 22 )
R 12 )   (1   )( R 13  R 21  R 22 ) 
(13)
Выбраковка хряков по годам, как следует из Е6, Е7, Е12, Е13, Е18, Е19
составит
Z X 1   ( J 91   R 11   R 12 )
Z X 2   (1   )( J 9 1  
R 11   R 12 )    ( R 13  R 21  R 22 )
2
ZX 3   (1   ) ( J 91   R 11   R 12 ) 
 (1   ) ( R 13  R 21  R 22 )   ( R 23  R 31  R 32 )
(14)
На забой идут также выращенные свиньи, которые остаются после
пополнения племенного стада. Количество свиней, идущих на забой отражено в
клетках В3, В5, В7, В9, В11, В13, В17 и В19 таблицы 1. Из В7,В13,В19 следует, что
к началу каждого g-го года для забоя будет выращено:
J 62   J 51  (1   ) R13
R  (1   ) R
  (1   ) ( J  R )   (1   ) R   R 
 (1   ) R   (1   ) J   (1   ) R   (1   ) R
  R  (1   ) R
J
J
63
  (1   ) R 11  
13
23
2
64
51
12
21
2
33
23
23
2
51
12
21

(15)
33
Свиней, забиваемых во внутренних отрезках года будем считать по формулам
столбца В строк 3, 5, 9, 11, 15, 17. Тогда
ZG 11  J 71  (1   ) R11
ZG 12  J 81  (1   ) R12
ZG 21   R11  (1   ) R 21
ZG 22   ( J 51  R12 )  (1   ) R 22
ZG 31   (1   )( J 51  R12 )   R 21  (1   ) R31
ZG 32   (1   ) R11   ( R13  R 22 )  (1   ) R31
Запишем далее равенства, определяющие поголовье поросят y gk в k-ом
отрезке g-го года. Изменение численности поросят отражено в колонке Д таблицы 1:
y11   J 51
y12   R11
y 21   (1   ) R11   R13
y 22   (1   ) J 51   (1   ) R12   R 21
(16)
2
2
y31   (1   ) J 51   (1   ) R12   (1   ) R21   R23
2
y32   (1   ) R11   (1   ) R13   (1   ) R22   R31
Поголовье поросят в начале каждого следующего года, как следует из
колонки Д таблицы 1 составит:
J 82   J 51   R12
J 83   (1   ) R11   R13   R 22
2
2
J 84   (1   ) J 51   (1   ) R12   (1   ) R 21 
  (1   ) R 23   (1   ) R32
(17)
Количество поросят, выращенных до четырех месяцев к началу каждого года,
определяется формулами в клетках С7, С13, С19, поэтому можно записать
равенства:
J 72   R11
J 73   (1   )( J 51  R12 )   R 21   (1   ) J 51   (1   ) R12   R 21
2
J 74   (1   ) ( R11   (1   ) R13   (1   ) R 22   R31
(18)
Получив формулы, определяющие поголовье животных в группах, можно
рассчитать потребности в кормах. Определимся, что будем понимать под нормами
потребления в свиноводстве и потребности какого периода в кормах введем в базу
данных. Дело в том, что взрослая свинья вырастает за 8 месяцев, а не год.
Для свиноматок и хряков, также как и для КРС, введем годовые нормы
потребления. Для поросят введем в нормы расхода те потребности, которые им
необходимы для роста до четырех месяцев. Для четырехмесячных свиней, введем в
нормы расхода потребности по откорму до восьмимесячного возраста. Для свиней,
переведенных в племенное стадо через четыре месяца от начала года, определим
потребности в кормах до конца года как две трети годовой нормы племенных
животных. Соответственно, если животное переводится в племенное стадо через
восемь месяцев от начала года, то его норму на текущий год определим равной
одной трети годовой. Пусть Z gk - поголовье четырехмесячных свиней в начале k-го
внутреннего отрезка g-го года. Тогда свиньям за год потребуется количество j-го
корма, определяемого выражением:
9
2
1
 n fjg J fg  n 5 jg R g 1  n 5 jg R g 2  n 7 jg ( Z g 1  Z g 2 ) 
3
3
f 5
(19)
2
2
1
 n 9 jg X g 1  n 9 jg X g 2   n 8 jg y gk
3
3
k 1
Поголовье четырехмесячных свиней на откорме на внутренних отрезках года
определяется из колонки C таблицы 1 и составит:
Z 11  J 81
Z 12   J 51
Z 21   ( J 51  R12 )
(20)
Z 22   ((1   ) R11  R13 )
Z 31   (1   ) R11   ( R13  R 22 )
2
Z 32   (1   ) ( J 51  R12 )   (1   ) R 21   R 23
Учитывая потребность свиноводства в кормах на год, определенную
выражением (19), ограничения по общей потребности молочного животноводства и
свиноводства в кормах можно выразить равенствами:
9
 n ifg J
f 1
1
fg

n 9 jg X g 2 
3
j  J,g G
2
3
n 5 jg
1
R g 1  3 n 5 jg R g 2  n 9 jg X g 1 
2
2
k 1
k 1
 n 8 jg y gk   n 7 jg Z gk  o jg
 p jg  0
(21)
В модели со свиноводством данные ограничения должны заменить
ограничения (7) из параграфа 2.4.
Ограничения по затратам ручного труда на уход за свиньями выразим
неравенствами:
9
 t fg J
r
f 5
1
fg

2
3
r
t5 g
2
t
r
9g
t
m
9g
1
r
R g1  3 t5 g R g 2 
2
3
r
t9 g
X 91 
2
r
r
X g 2   t y gk   t 7 g Z gk  T S g
r
8g
r
 T Tg
3
k 1
k 1
(22)
g  { 1, 2, 3}
Те же ограничения по затратам механизированного труда запишем в виде:
9
2 m
1 m
2 m
m
 t fg J fg  t 5 g R g 1  t 5 g R g 2  t 9 g X 91 
3
3
3
f 5
1
2
2
m
m
X g 2   t y gk   t 7 g Z gk  T S g
m
8g
m
 TTg
3
k 1
k 1
(23)
g  { 1, 2, 3}
В случае наличия в хозяйстве хороших условий для развития свиноводства,
модель может предложить вариант интенсивного расширения стада свиней. В этом
случае в хозяйстве могут возникнуть трудности с обеспечением животных
помещениями. Прогноз потребности свиноводства в площадях можно заложить в
модель.
Пусть S1, S2, S3, S4, S5 - соответственно площадь в квадратных метрах,
требуемая по нормативам для одной свиноматки, выращенной свиньи, подростка на
откорме, поросенка и хряка;
NPg- возможная нехватка площади на g-ый год;
PLg- ожидаемое наличие площади на g-ый год;
Для расчета необходимой на год площади возьмем поголовье и структуру стада
по состоянию после 8-ми месяцев от начала года, так как в условиях роста
численности она через восемь месяцев становится максимальной и, при наших
предположениях, не меняется до конца года. Тогда необходимая на 1-ый год
площадь будет определяться поголовьем стада, вычисленным в пятой строке
таблицы 1.
( J 51  R 11  R 12 ) S 1  ( J 81  (1   ) R 12 ) S 2   J 51 S 3   R 11 S 4 
 ( J 91   ( R 11 
R 12 )) S 5  S 1 J 51  S 1 R 11  S 1 R 12  S 2 J 81 
 (1   ) S 2 R 12   S 3 J 51   S 4 R 11  S 5 J 91   S 5 R 11   S 5 R 12 
( S 1   S 3 ) J 51  ( S 1   S 4   S 5 ) R 11  ( S 1   S 5  (1   ) S 2 ) R 12 
 S 2 J 81  S 5 J 91
Теперь ограничение по площади свинарника на первый год можно записать в виде:
(( S 1   S 3 ) J 51  ( S 1   S 4   S 5 ) R 11  ( S 1   S 5 
(24)
 (1   ) S 2 ) R 12  S 2 J 81  S 5 J 91  N P1  P L1
Аналогично, исходя из (11 и 17) строк таблицы 1, для второго и третьего года
эти ограничения примут вид:
[(1   ) S 1   S 2   (1   ) S 4 ] J 5 1  [(1   ) S 1   (1   ) S 3 
 (1   ) S 3  (1   )
S 5 ] R 1 1  [(1   ) S 1   S 2   (1   ) S 4 
 (1   ) S 5 )] R 1 3  [ S 1   S 4   S 5 ] R 2 1  [( S 1  (1   ) S 2 
  S 5 ] R 2 2  (1   ) S 5 J 9 1  N P2  P L 2
(25)
[(1   )
S 1   (1   ) S 2   (1   ) S 4   S 5 ] J 51 
2
2
2
2
 [(1   ) S 1   (1   ) S 3 ] R 11  [(1   ) S 1   (1   ) S 2 
2
  (1   ) S 4 ] R 12  [(1   ) S 1   (1   ) S 3 )] R 13  [(1   ) S  (26)
1
2
2
2
  (1   ) S 2   (1   ) S 4 ] R 21  ( S 1  
S 3 ) R 31  [ S 1 
  (1   ) S 4 ] R 32  N P3  P L 3
Формулировку ограничений по свиноводству закончили.
Рассмотрим составляющие, которые войдут в целевую функцию от
свиноводства.
Пусть V 6 , V 5 , V 9 - соответственно средний вес откормленной свиньи,
свиноматки, хряка;
S - стоимость килограмма живого веса свиньи.
Тогда товарная продукция свинофермы по годам составит:
T P S  (V 61 S
1
J 61  V 51 S * Z M 1  V 91 S * Z X 1 )  V 61 S [ J 71  (1   ) R 11] 
 V 61 S [ J 81  (1   ) R 12 ]
TPS
 (V 62 S
2
J 62  V 52 S * Z M 2  V 92 S * Z X 2 )  V 62 S [ R 11  (1   ) R 21] 
 V 6 g S [ ( J 51 
R 12 )  (1   ) R 22 ]
(27)
J 63  V 53 S * Z M 3  V 93 S * Z X 3 )  V 63 S [ (1   )( J 51  R 12 ) 
R 21  (1   ) R 31]  V 63 S [ (1   ) R 11   ( R 13  R 22 )  (1   ) R 32 ]
T P S 3  (V 63 S

Вычислим затраты по уходу за свиньями. Как и выше, учитываем затраты,
связанные с кормлением и уходом за животными. Фиксированные затраты, такие как
отопление животноводческих помещений, освещение, содержание, обычно в
моделях не учитываются, так как величина их напрямую не зависит от принимаемых
решений.
Для того, чтобы не только ввести затраты в целевую функцию, но и иметь
вычисленное значение затрат после оптимизации, введем вспомогательные
переменные ZSg. Тогда затраты по годам можно найти из равенств:
9
r r
M M
r
r
M M
 (  n fj C j  R f t f  R f t f ) J fg  (  n 7 j C j  R 7  t 7  R7 t 7 ) J 8 g 
f 5


j
2
j
[  n 5 j C j  Rr5 t r5  R 5M t 5M ] R g 1 
3
2
j
[  n 9 j C j  Rr9 t r9  R 9M t 9M ] X g 1 
3
j
r r
]
8 8
 [  n8 j C j  R t
j
r r
8 8
g G
[  n 5 j C j  Rr5 t r5  R5M t 5M ] R g 2 
3
1
3
j
[  n 9 j C j  Rr9 t r9  R 9M t 9M ] X g 2 
j
r r
7 7
y g 1  [  n 7 j C j  R t  R7M t 7M ] y g 1 
M
8
 [  n8 j C j  R t  R t
j
1
j
M
]
8
y g 2  ZSg
 0
(28)
Здесь первое слагаемое учитывает затраты на содержание племенного стада по
состоянию на начало года за весь год, а всего остального стада за первые четыре
месяца. Второе слагаемое учитывает затраты по доращиванию того молодняка,
которое родилось в начале года. Третье слагаемое отражает затраты по слдержанию
животных, добавляемых в маточное стадо через четыре месяца, четвертое через
восемь месяцев от начала года. Пятое и шестое слагаемые связаны с добавляемыми в
племенное стадо хряками через четыре и восемь месяцев. Седьмое слагаемое связано
с поросятами, которые рождаются через четыре месяца от начала года, а девятое с
поросятами, рождающимися через восемь месяцев. Восьмое слагаемое содержит
затраты на доращивание молодняка, родившегося через четыре месяца с
четырехмесячного до восьмимесячного возраста.
Таким образом, ежегодная условная прибыль свиноводства составит:
DОХSg=TPSg-ZSg g  G ,
и в целевую функцию вместе со штрафами за дефицит трудовых ресурсов
войдет составляющая:
3
 ( D O XS g
r
r
m
m
 SS g TS g  SS g TS g )
g G
(29)
g 1
Если хозяйство занимается переработкой мяса, то теперь можно вычислить
включаемую в целевую функцию дополнительную прибыль.
Пусть
PrG - прибыль на килограмм переработанной продукции из говядины;
PrS - прибыль на килограмм переработанной продукции из свинины;
1g - удельный вес мяса в живом весе для говядины;
1s - удельный вес мяса в живом весе для свинины;
2g - отношение веса продукции к весу переработанного мяса для говядины;
2s - отношение веса продукции к весу переработанного мяса для свинины. Тогда
дополнительная прибыль по годам составит:
D O P P R g   V1 g J 1 g P r G  1 g  2 g 
 V 2 g ( J 2 g  Z g  y g ) P r G  1 g 2 g  V 2 g ( J 2 g  Z g  y g ) P r G  1 g 2 g 
 V5 g Z M g 
4
2
g2
k 1
 V 6 g J 6 g   V 6 g Z G gk
(30)
 V9 g Z X g
g G
2.6. Задача и модель объемного планирования звероводства
Производственный год в звероводстве делят на периоды: подготовки зверей к
гону, гона, беременности, щенения, выращивания молодняка и период покоя
взрослых зверей. К концу производственного года родившийся щенок либо
переводится в маточное стадо, либо забивается на шкуры. В племенном стаде
животное используется обычно до 3 лет. Средняя плодовитость норок 6 щенков.
Стадия щенок длится 3 месяца от момента рождения. Через три месяца жизни щенок
переходит в категорию подросток. Половая зрелость молодняка наступает в возрасте
10 месяцев.
Поскольку поставленная задача относится к классу задач объемного
планирования, то есть нам необходимо найти общие оптимальные объемы
производства продукции, то будем учитывать следующие две укрупненные стадии
роста и развития норок: щенки и подростки, племенные норки. Поэтому будем
считать, что нам известно:
- исходное состояние племенного стада норок со своим приплодом, разбитого
на две возрастные группы: взрослый зверек и подросток или щенок;
- средние нормы потребления кормов зверьками за год или период роста до
забоя, либо до перехода в следующую возрастную группу;
- стоимость кормов, потребляемых зверьками;
- трудоемкость ручных и механизированных работ по содержанию зверьков за
год или период роста, если период роста меньше года;
- стоимость нормо-часа ручных и механизированных работ в звероводстве;
- проценты ежегодной выбраковки племенных зверьков из стада;
- количество щенков рождающихся за год от 100 самочек норок;
- стоимость одной шкурки зверька.
Требуется, в заданных условиях функционирования хозяйства, найти такой
оборот стада норок в каждый год трехлетнего горизонта планирования, чтобы
хозяйство получило на этом интервале функционирования максимальную прибыль
по звероводческой отрасли. При этом, оборот стада на всем горизонте планирования
необходимо моделировать исходя из средних биологических циклов развития
животных. Под оборотом стада понимаются данные о количестве норок,
выбраковываемых из стада и норок, вновь вводимых в стадо из числа подростков в
каждый год трехлетнего горизонта планирования.
Звероводческая отрасль рассматривается как часть многоотраслевого
хозяйства, то есть в процессе решения задачи необходимо учитывать взаимосвязи и
взаимозависимости существующих отраслей производства. Так растительные корма,
потребляемые зверьками, являются продукцией растениеводства; животные корма,
например субпродукты, результатом переработки мяса; рыба, входящая в рацион
зверьков, продукцией рыбоводческой или рыболовной отрасли предприятия и так
далее и тому подобное. При решении задачи необходимо учесть эти и другие
возможные связи между отраслями предприятия.
2.6.1. Построение модели планирования звероводства.
Там, где речь идет о нормах потребления кормов животными в дальнейшем будем
иметь в виду, что они для взрослого животного племенного стада заданы на год. Для
остальных животных нормы заданы до забоя или перевода в племенное стадо.
Представленная модель, рассматривает три категории зверьков: самки, самцы и
подростки. В целевой функции и в ограничениях по обороту стада под подростком
понимается животное, достигшее к концу года половой зрелости и готовое к
переводу в племенное стадо или же готовое к забою на шкуры.
Введем необходимые для построения модели обозначения для средних по
хозяйству показателей: норм, нормативов, коэффициентов и переменных. Ранее
введенные обозначения сохраняют свой смысл.
 - коэффициент рождаемости щенков, т.е. отношение числа рождающихся за
год щенков к численности маточного стада норок. Через  можно учесть и падеж
щенков, как неродившихся.
Cf- стоимость шкуры f-го животного. f :  10. .12 .
RZr- стоимость нормо-часа ручных работ в звероводстве.
RZm- стоимость нормо-часа механизированных работ в звероводстве.
r
Tg
- имеющиеся трудовые ресурсы в звероводстве для каждого года горизонта
планирования.
m
T g - имеющиеся механизированные трудовые ресурсы в звероводстве для
каждого года.
Искомыми являются:
Jfg- поголовье животных f-го вида в начале g-го года. f :  10. .12 ; g  G .
Zg- количество подростков, переводимых в маточное стадо в g-ом году. g  G
.
r
T Z g - дефицит трудовых ресурсов для ручных работ в звероводстве в g-ом
году. g  G .
m
- дефицит трудовых ресурсов для механизированных работ в
TZ g
звероводстве в g-ом году. g  G .
В этих обозначениях потребности хозяйства в кормах и остатки кормов
собственного производства вместе со звероводством могут быть найдены из
ограничений:
12
 n fjg J fg
f 1

2
3
2

 n 7 jg Z gk 
k 1
n 5 jg
2
3
R g1 
1
3
2
n 5 jg
n 9 jg X 91 
Rg2 
 n 8 jg y gk 
k 1
1
3
n 9 jg X
g2
 O jg  P jg  0
j  J,g G
(1)
где P j , g - производство j-го корма в g-ом году;
остатки или дефицит (если отрицательно) j-го корма в g-ом году.
Это ограничение требует также, чтобы собственные потребности были
удовлетворены полностью. В противном случае остатки O j , g будут отрицательными
и доход от реализации продукции превратится в затраты по приобретению кормов.
Некоторые из j-ых кормов, являются продукцией растениеводства.
Таким образом, мы устанавили связь между растениеводческой и
звероводческой отраслями сельскохозяйственного производства.
Норки являются потребителями субпродуктов, поэтому если на
сельскохозяйственном предприятии ведется переработка, мяса, то потребуется
ввести следующие ограничения:
O j, g -
12
 n f ,m J f ,g
 O m , g  Pm , g  0
g G ,
(2)
f 10
где
Pm , g - производство субпродуктов в g-ом году;
O m , g - остатки или дефицит (если отрицательно) субпродуктов в g-ом году.
Это ограничение требует,
удовлетворены полностью. В
чтобы потребности
противном случае
в субпродуктах были
остатки O m , g
будут
отрицательными и доход от реализации продукции превратится в затраты по
приобретению субпродуктов.
Выход субпродуктов от переработки мяса КРС находится из ограничений:


gG
 3  V1 g J 1, g  V 2 g J 2 , g  V 2 g Z g  V 3 g J 3 , g  Pm , g  0
(3)
где  3 - выход субпродуктов из живого веса, например 3 = 0.15;
 - коэффициент выбраковки коров,
0    1;
V f , g - вес животного (коровы, откормленной нетели , откормленного быка
), f :  1..3, g  G ;
J
f ,g
- количество животных (коровы, нетели, бычки) в g-ом году,
f :  1..3, g  G ;
Z g - количество нетелей, переведенных в основное стадо в g-ом году,
g G .
Здесь устанавливается связь между животноводческой и звероводческой
отраслями сельскохозяйственного предприятия.
Потребности звероводства в трудовых ресурсах для ручных и
механизированных работ можно выразить неравенствами:
12
 t f J f ,g
r
r
r
 TZ g  T g
gG
(4)
gG
(5)
f 10
12
 tf
m
m
m
J f , g  TZ g  T g
(
f 10
2.6.2. Моделирование оборота стада зверьков
Далее запишем ограничения, описывающие оборот стада на трехлетнем
горизонте планирования. Пусть
J10g- поголовье маточного стада в начале g-го года;
J11g - количество самцов в начале g-го года;
J12g - количество подростков в начале g-го года, (возраст до 1 года).
Тогда
Jf1 - известное исходное состояние стада норок, f :  10. .12 ;
Jfg - искомые величины для
и g 1.
В последующие два года, если абстрагироваться от падежа стада, норок будет
меньше на величину выбраковки и больше на количество подростков, переведенных
в основное стадо. То есть
J 10, 2  1    J 10,1  Z 1
g G
J 10, 3  1    J 10 , 2  Z
2
Поскольку для решения задачи известные величины должны быть справа от
знака равенства, а неизвестные слева, то в модели эти ограничения будут иметь вид:
(6)
J
 Z  1    J
10 , 2
1
1   J 10, 2
10 ,1
 J 10, 3  Z
2
0
(7)
Тогда нетрудно подсчитать ожидаемую численность подростков через год и
через два года:
J 12 , 2   1    J 10,1   Z
1
J 12, 3   1    J 10, 2   Z
или
2
J 12, 2   Z 1   1    J 10,1
(8)
(9)
 1    J 10, 2  J 12, 3   Z 2  0
Ожидаемую численность самцов во втором и третьем годах можно вычислить
по формулам:
J 11, 2  1    J 11,1   Z1
J 11, 3  1    J 11, 2   Z 2
или
J 11, 2 Z 1  1    J 11,1
(10)
1    J 11, 2   Z 2  J 11, 3  0
(11)
Воспроизводство стада может быть полным и неполным. Это зависит от того,
можем ли мы перевести из подростков в маточное стадо столько животных, сколько
выбраковываем или не можем или не хотим по экономическим соображениям.
где V f , g - шкуры, полученные от выбраковки из стада зверьков
Ясно, что Z g не может быть больше  J 12 , g , так как нельзя перевести в стадо
подростков больше, чем есть, поэтому должны выполняться ограничения:
g G
 J 12 , g  Z g  0
(12)
Если же мы хотим обеспечить неубывающее воспроизводство стада норок, то в
модель необходимо включить также ограничения:
(13)
g G
 J 10, g  Z g  0
2.6.3. Вклад звероводства в целевую функцию
Для получения информации о производстве шкур в каждом году горизонта
планирования добавим в модель следующие ограничения:
(14)
g G
 J 10 , g  V 10 , g  0
 J 11, g  V 11, g  0
J 12 , g  1    Z g  V12 , g  0
где V f , g
g G
g G
(15)
(16)
- шкуры, полученные от выбраковки из стада зверьков (самок,
самцов, подростков из числа рожденных) в g-ом году, f :  10. .12 ;
Целевая функция.
Запишем теперь вклад звероводческой фермы в целевую функцию.
Стоимость продукции, связанной с производством шкур племенного стада
норок, запишется формулой:
3
   C 10 J 10, g
g 1

 C 11 J 11, g ,
где C f - стоимость шкуры взрослого зверька, f :  10. .11 .
Стоимость шкур выбракованных подростков может быть вычислена по
формуле:
3
 C12  J 12 , g  1    Z g 
g 1
где C 1 2 - стоимость шкуры подростка.
Тогда товарная продукция звероводческой фермы составит:
3
TPZ 

g 1


3

 C10 J 10 , g  C11 J 11, g   C12 J 12 , g  1    Z g
g 1

(17)
Расходы на корма, затраты на ручной и механизированный труд
в целевой функции выразяться следующим образом:
 RZ
 12

 3
c   n f , j   J f ,g  

j  f 1 0
 g 1


jJ
ZZ 

r
12
 3

r
 t f   J f ,g 
 g 1

f  10
 RZ
m
12
 3

m
 t f   J f ,g 
 g 1

f  10
Всего доход звероводческой фермы с учетом затрат на содержание зверьков и
производства субпродуктов дают следующий вклад в целевую функцию:
3
3
m ax{   C10 J 10 , g  C11 J 11 , g   C12 J 12 , g  1    Z g 
g 1
g 1




3
3
12
12
3
r
 0 .9 ST m  Pm , g    c j  n f , j  R Z r  t f  J
g 1
g 1 j J
f  10 g  1
f  10
 RZ
f ,g

(19)
12
3
m
 t f  J f ,g}
m
f  10
g 1
где ST m - цена единицы субпродуктов;
0 .1 S T m - затраты на их производство и хранение.
Специальная информация,необходимая для построения модели звероводсва
получена из [15].
2.7. Расчеты экономических показателей
В принципе, на формулировке целевой функции (19) §2.6.3 построение
модели закончено. При этом целевая функция будет включать в себя сумму
составляющих, определяемых выражениями (25) §2.4.1; (29) §2.5.1; (19) §2.6.3.
Ограничения (21) §2.5.1 с учетом звероводства примут вид:
12
2
1
 n fjg J fg  n 5 jg R g 1  n 5 jg R g 2 
3
3
f 1
2

 n 8 jg
k 1

1
2
2
y gk   n 7 jg Z gk  n 9 jg x 91 
3
k 1
n 9 jg x g 2  o jg  p jg  O M g  P M g  0
3
j  J, g G
Нам вместе с оптимальным решением хотелось бы получить некоторые
экономические оценки. Они, конечно, легко могли быть подсчитаны по результатам
оптимизации, но для этого нужна дополнительная программа. Как показал
эксперимент, включение в оптимизацию некоторых расчетов несущественно влияет
на время решения. Поэтому мы включили в модель некоторые из нижеследующих
ограничений для получения экономических оценок.
Исходя из (6) §2.3 и (8) §2.4 прибыль растениеводства по годам может быть
вычислена как:
(1)
TPR g  ZR g  0, g  G
Соответственно, общая прибыль растениеводства за три года может быть найдена
из неравенства:
(2)
 (TP R g  ZR g )  0
g
Прибыль животноводства по годам может быть вычислена исходя из (23 и24) §
2.4.1 как
(3)
TPJ g  ZJ g  0, g  G
Общая прибыль молочного животноводства за три года составит:
(4)
 (TP J g  ZJ g )  0
g
Для свиноводства из (27) и (28) §2.5.1 прибыль по годам найдем из неравенств:
(5)
TPS g  ZS g  0, g  G
Общая прибыль свиноводства за три года может быть найдена из неравенства:
(6)
 (TPSg  ZSg )  0
g
Аналогично из §2.6.2 (17) и (18) прибыль звероводства по годам находится как:
(7)
TPZ g  ZZ g  0, g  G
Соответственно, за три года, она найдется из неравенства:
(8)
 (TPZ g  ZZ g )  0
g
В модель включено также вычисление общей прибыли хозяйства по годам:
(T P R g  T P J g  T P S g  T P Z g ) 
(9)
 ( Z R g  Z J g  Z S g  Z Z g )  0, g  G
Вычисляется также итоговая прибыль за три года как
 (T P R g  T P J g  T P S g  T P Z g ) 
g
(Z R g  Z J g  Z S g  Z Z g )  0
10)
Последнее неравенство выполняет также роль контрольной суммы, так как значение
его должно совпадать со значением целевой функции, если не возникло дефицита
ресурсов. В случае дефицита неравенство (10) будет больше целевой функции. Не
будем здесь приводить всех ограничений, связанных с вычислением экономических
показателей. Отметим лишь, что в модель включены также ограничения для
вычисления затрат отраслей по годам, общих затрат хозяйства по годам и т.д.
ГЛАВА 3. Программная реализация решения
задачи.
При решении задачи объемного планирования производства получена модель
линейного программирования. Модели такого класса могут быть решены с
применением стандартных оптимизаторов. За неимением доступа к более мощным
оптимизаторам, здесь использована для решения задачи Система математического
(линейного и целочисленного) программирования МПС [11,12].
Требования к входным данным этого пакета будут рассмотрены ниже.
Отметим лишь, что входные данные этой задачи будем формировать автоматически
программным путем. Так как в ручную формировать матрицу задачи, включающей
ограничения (1-6) параграфа 2.3, (7-11) параграфа 2.4; (12-25) параграфа 2.4.1; (1-29)
параграфа 2.5.1;(1-5) параграфа 2.6.1; (6-13) параграфа 2.6.2; (11-19) параграфа 2.6.3;
(1-10) параграфа 2.7 и целевую функцию, заданную суммой выражений (25)
параграфа 2.4.1; (29) параграфа 2.5.1; (19) параграфа 2.6.2, практически невозможно.
3.1. Описание АРМ.
Для решения задачи необходима информация о количестве и качестве земель в
хозяйстве. Эта информация содержится в файле картотеки земли. Название этого
файла ZemlQ.
Естественно, нужно иметь перечень тех культур, которые возделываются в
хозяйстве и их урожайность на разных землях. Поскольку большинство культур
являются кормами для животных, то для того, чтобы не создавать специального
файла кормов, все корма для животных введены в файл сельскохозяйственных
культур. Этот файл называется Kultura.
Также необходим файл сельскохозяйственных животных, где определяется
структура и поголовье стад животных. Называется этот файл Jibotn.
Так как разработанная система должна быть достаточно гибкая, пригодная для
планирования достаточно широкого круга сельскохозяйственных предприятий, то
была предусмотрена возможность некоторой настройки модели на отраслевую
структуру конкретного хозяйства: включения в модель растениеводства,
животноводства, свиноводства, переработки мяса, звероводства, рыболовства,
заготовки леса, переработки леса и так далее.
В системе предусмотрена
возможность диалоговой настройки структуры модели, задания цен на продукцию
сельского хозяйства и на корма, а также возможность оперативного изменения
достигнутых хозяйством технологических показателей таких, как средний удой на
корову, выход чистого мяса из живого веса, если есть переработка мяса, и других
показателей. Определяются эти показатели в файле памяти, в языке Clipper 5.0
называемом memo-файлом.
Поскольку данная система предназначена для подготовки принятия плановых
решений лицом принимающим решения (ЛПР), то система должна учитывать
состояние рынка и опирается на его анализ. Для этого перед решением задачи
должны быть известны границы спроса на продукцию сельского хозяйства,
ожидаемые или текущие цены на продукцию, внутренние потребности в
сельскохозяйственной продукции. В данной системе внутренние потребности
животноводства
в
кормах
собственного
производства
рассчитываются
автоматически. В моделях предполагается их полное обеспечение. Перед расчетами
модели должны быть сообщены ограничения на объемы производства, где нижняя
граница должна соответствовать минимальным потребностям в данной продукции,
определяемым внутренними потребностями и может быть заключенными на
поставку продукции договорами или длительными связями с потребителями, и
верхней границей, определяющей прогноз спроса, установленный специалистами на
основе анализа рынка. Для учета в модели ограничений и оперативного их
изменения создан файл ограничений. Его название Ogran.
Таким образом, в системе реализовано автоматизированное формирование
матрицы математической модели, автоматизирован оптимизацищнный расчет,
обработка результатов оптимизации и в некоторых пределах автоматизирован
анализ полученного решения, путем формирования видеограмм и документов по
важнейшим разрезам анализа.
Исходя из вышесказанного логично следующее главное меню описываемого
АРМ:
1. Картотека земли
2. Сельскохозяйственные культуры и корма
3. Животноводство
4. Структура модели, цены и технологические константы
5. Ограничения на объемы производства
6. Формирование матрицы математической модели
7. Выполнение оптимизационного расчета
8. Обработка результатов решения
9. Видеограммы и распечатки анализа результатов решения
3.2. База данных АРМ.
Существует
много
альтернативных способов,
языков и
систем
программирования для построения и ведения базы данных АРМ. Остановим свой
выбор на достаточно широко известной и применяемой системе управления базами
данных Clipper версии 5.01. Достоинством Clipper является удобный программный
интерфейс и высокая скорость обработки информации, высокая скорость
компоновки программ, возможность автоматического и ручного управления
памятью. Высокая скорость компоновки достигается наличием средств, которые при
каждой дополнительной компоновке ограничивается только теми объектными
файлами, которые были изменены. Clipper обладает усовершенствованным методом
индексации, использующим оптимизированную структуру файла. Следует также
отметить, что для обеспечения совместимости с dBASE+ подобными языками
Clipper поддерживает основные форматы файлов данных dBASE и имеет ряд других
достоинств, которые описаны в [10],[11]. Далее перейдем к описанию файлов базы
данных (БД) АРМ.
3.2.1. Описание файлов БД АРМ.
Файл картотеки земли (ZemlQ.dbf) имеет структуру:
1
2
3
4
5
6
Имя поля
NUCH
NAIM
KLAS
PLOC
NPRE
RANP
7
PLA1
8
9
PLO1
PLA2
Содержание
Номер участка земли
Наименование участка
Класс земли
Площадь участка земли
Номер предшественника
Ранний предшественник
(2 года)
Номер первой планируемой
на участок культуры
Площадь первой культуры (га)
Номер первой планируемой
на участок культуры
Тип
Цифровое
Символьное
Цифровое
Цифровое
Цифровое
Цифровое
Размер
3
20
1
7.2
2
2
Цифровое
2
Цифровое
Цифровое
7.2
2
10
...
15
PLO2
. . .
PLA5
16
17
18
19
20
21
PLO5
CVOB
ORGA
AZOT
KALI
FOSF
Площадь первой культуры (га)
. . .
Номер пятой планируемой
на участок культуры
Площадь пятой культуры (га)
Незанятая площадь
Внесено органики (тонн)
Внесено азотных удобрений
Внесено калийных удобрений
Внесено фосфорных удобрений
Цифровое
. . .
Цифровое
7.2
. . .
2
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
7.2
7.2
7.2
7.2
7.2
7.2
Из определенных в данном файле полей только три имеют отношение к
решаемой задаче: 1, 3, 4 поля. Поля с 5 по 16 введены в файл для
автоматизированного решения задачи определения оптимального севооборота и
записи результатов решения. Поля 18, 19, 20, 21 введены для учета вносимых в
участки удобрений. Поле 17 предназначено для учета неиспользуемых площадей.
Структура файла культур и кормов (Kultura.dbf):
1
2
3
4
5
Имя поля
NKULT
NAIMK
KLASZ
SRURO
TRUDR
6
TRUDM
7
STOIM
8
9
STOUD
KORMN
Содержание
Номер культуры
Наименование культуры
Класс земли
Средняя урожайность
Трудоемкость ручных работ
(нч)
Трудоемкость
механизированных работ
Стоимость
реализации
культуры
Стоимость удобрений на га
Признак корм не корм для
животных
Тип
Цифровое
Символьное
Цифровое
Цифровое
Цифровое
Размер
3
20
1
6.2
4
Цифровое
4
Цифровое
10.3
Цифровое
Цифровое
10.3
1
Для кормов не выращиваемых в хозяйстве поля с 3 по 6 и 8 не заполняются.
Файл животных (Jibotn.dbf) имеет структуру:
1
2
3
4
5
6
Имя
поля
NJIV
NAIJ
KOL
BEC
TRR
TRM
7
8
9
10
11
KROG
KVIB
PLA2
PLA3
CENA
Содержание
Тип
Размер
Номер животного
Наименование животного
Количество животных
Средний вес животного
Трудоемкость ручных работ (нч)
Трудоемкость механизи-рованных
работ
Коэффициент рождаемости (ALFA)
Коэффициен. выбраковки (BETTA)
Плановое кол-во на второй год
Плановое кол-во на третий год
Стоимость животного
Цифровое
Символьное
Цифровое
Цифровое
Цифровое
Цифровое
3
10
4
6.2
4
4
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
5.2
5.2
4
7
7
12
13
NK01
NO01
14
...
45
46
47
ST01
. . .
NK12
NO12
ST12
Номер первого корма
Цифровое
Норма потребления 1-го кор-ма на Цифровое
год или на период роста
Стоимость единицы 1-го корма
Цифровое
. . .
. . .
Номер двенадцатого корма
Цифровое
Норма потребления 12-го корма
Цифровое
Стоимость единицы 12-го корма
Цифровое
3
6.3
5
. . .
3
6.3
5
В полях 5 и 6 задается трудоемкость ручных и механизированных работ по
содержанию животного за год или за период роста. И нормы потребления кормов
будем задавать на год или на период роста, если последний меньше года.
Коэффициент рождаемости определим как среднее количество приплода от одной
матки за год или за один раз. Коэффициент выбраковки определим как отношение
количества животных выбраковываемых за год из племенного стада к общей
численности стада. Поля 9 и 10 с плановым количеством введены для того, чтобы в
них заносить результаты оптимального решения, как прогноз, обеспечивающий
наибольшую прибыль. Поле 11 - стоимость животного при его реализации на
сторону. В этот же файл введено 12 видов основного корма для каждого животного.
Опишем структуру файла ограничений (Ogran.dbf):
1
2
3
4
...
7
8
Имя поля
IMRE
NAIR
NG1
VG1
. . .
NG3
VG3
Содержание
Имя реквизита в описании файла
Наименование поля (реквизита)
Нижняя граница первого года
Верхняя граница первого года
. . .
Нижняя граница третьего года
Верхняя граница третьего года
Тип
Символьное
Символьное
Цифровое
Цифровое
. . .
Цифровое
Цифровое
Размер
4
15
6
6
. . .
6
6
Переменные памяти (mmm.mem):
1
2
3
4
5
6
7
8
9
10
11
12
Имя поля
O1
O2
O3
O4
O5
O6
O7
O8
O9
O21
O22
BOCCT
13
BOCOC
Содержание
Растениеводство, 0-нет,1-есть
Животноводство, 0-нет,1-есть
Переработка мяса, 0-нет,1-есть
Свиноводство, 0-нет,1-есть
Звероводство, 0-нет,1-есть
Рыболовство,
0-нет,1-есть
Строительство, 0-нет,1-есть
Заготовка леса, 0-нет,1-есть
Переработка леса, 0-нет,1-есть
Экон.показатели, 0-нет,1-есть
Ограничения 1-нежесткие,0-жесткие
Восстаноление стада 0-неполное ,1полное
Восстановление основных фондов
животноводства 0-неполное, 1-полное
Тип
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Цифровое
Размер
1
1
1
1
1
1
1
1
1
1
1
1
Цифровое
1
Из-за их большого числа не будем приводить переменные памяти здесь
полностью.
Таким образом, база данных (БД) для рассматриваемой модели объемного
планирования сельскохозяйственного производства должна состоять из файлов:
картотека земли; сельхоз культур и кормов; животных; границ переменных,
определяющих объемы производства продукции; файла переменных памяти,
определяющих структуру модели, технологические константы и цены. Необходимо
разработать постановки задач и комплекс программ по созданию, индексированию и
ведению этих файлов. Под ведением файлов будем понимать корректировку,
добавление и удаление записей, просмотр и помечивание на удаление, вывод их на
печать и т.д. Для каждого файла надо определить вид выводимой на экран монитора
информации и функции по ведению файла, закрепленные за функциональными
клавишами.
Пусть функциональные клавиши будут иметь одно и то же назначение для
всех файлов и будут выполнять функции:
DEL - помечивание на удаление / снятие помечивания;
ENTER - корректировка выбранной записи;
INS - копирование записи с ее корректировкой;
F4 - удаление помеченных записей;
F5 - формирование рабочего файла для вывода файла в виде документа на
печать;
F6 - предварительный просмотр видеограммы сформированного документа;
F7 - вывод документа на печать.
Информацию на экран будем выводить по записи на строку в заданный
диапазон строк экрана, используя для этого стандартную функцию Clipper”а dbedit
[13,14]. Проектируя просмотр файла необходимо продумать какие поля записи
выводить в отводимую для dbedit область, какие в так называемый "подвал".
Необходимость вывода информации в подвал связана с тем, что в строку монитора
можно вывести лишь 80 символов. Этого не всегда достаточно для вывода всех
полей записи. Поэтому в строку области dbedit будем выводить наиболее важные
поля просматриваемых записей, а остальную информацию, которую необходимо
видеть и корректировать, будем помещать в подвал, но только для текущей записи.
Под текущей записью будем понимать ту, на которой в данный момент находится
световой курсор.
3.2.2. Проектирование видов экранов для файлов БД
Определим вид экрана для справочника земли. В нулевой строке вывести
заголовок: "Справочник земельных участков". В правом углу этой же строки
вывести текущую дату. С первой по третью строку экрана вывести шапку
видеограммы:
N
уч
наименов.
местноcти
К Площадь
Органич
Азотные
Калийные
Фосфорн Свободн
Пре
Подвал создать в строках с 14 по 20 в виде:
культ площадь
культ
использование участка
площадь культ площадь
культ
площадь
культ
В 21-ой строке вывести подсказки по использованию клавиш:
площадь
ESC - выйти, INSERT - вставить, Delete - пометить, ENTER - редактировать. В 22-ой
строке вывести подсказки:
F4 - упаковать, F5 - формировать документ, F6 - просмотреть,
F7 - печатать.
Дадим алгоритм реакции программы просмотра файла на нажатие клавиш. При
вызове из главного меню картотеки земли функция DBEDIT в строках с 4 по 13-ую
экрана должна высветить десять записей справочника земли. Помеченные на
удаление записи высветить со знаком "@" в нулевой позиции, иначе в нулевой
позиции высветить пробел. В подвале высветить остальные поля первой записи
экрана и менять их содержимое по мере движения курсора по выведенным на экран
записям. Клавишами направления можно выбрать любую высвеченную на экране
запись. Для нее можно выполнить все те действия, которые предусмотрены нами
выше. Просмотр файла дальше может быть выполнен нажатием клавиш PG DN или
любой невошедшей в число выбранных. Помечивание / снятие пометки на удаление
выполнять по нажатию на клавишу DEL. Если запись была помечена, ее
восстановить и признак пометки в нулевой позиции строки экрана заменить на
пробел. Иначе запись пометить на удаление и в нулевую позицию строки занести
признак "@". Высветить на экране те же записи, которые и были высвечены до
помечивания, то есть старые.
Корректировку записи по нажатию клавиши ENTER
выполнить в
последовательности:
1. Все поля записи поместить в рабочие поля.
2. Принять новые данные в каждое рабочее поле. Если поле не меняется,
пропустить его, как обычно, путем нажатия на ENTER .
3. Проверить, была ли в процессе корректировки отмена корректировки:
нажатие ESC. Если нет, то занести измененные рабочие поля в поля записи.
Корректировка закончена. Если была отмена, то сброс с рабочих полей в поля записи
не делать. Высветить на экране старые записи. Система находится в ожидании
дальнейших действий.
При нажатии на клавишу ESC в состоянии ожидания действий система
должна вернуться в главное меню.
Ввод новой записи в файл выполнить путем установки курсора на запись,
после которой следует вставить новую. Нажать клавишу INS . При этом выполнить
очистку рабочих полей записи, принять в рабочие поля вставляемую информацию.
Если не было отказа от ввода новой записи (нажатия клавиши ESC), то ввести
пустую запись в конец и сбросить в нее информацию из рабочих полей. Запись
введена. Если был отказ от ввода, то пустую запись в файл не вводить.
При нажатии на клавишу F4 выполнить упаковку файла и в 23-ей строке
выдать сообщение: "Ждите, идет упаковка файла ZEMLQ". На экран вывести записи,
начиная с первой на старом экране, но без удаленных. Вместо удаленных высветить
следующие записи.
При нажатии на F5 выполнить вывод файла в рабочий текстовый файл в виде
документа с постраничной разбивкой, с заголовком и шапкой на каждой странице, с
нумерацией страниц. По окончании формирования документа в 23-ей строке
вывести сообщение: "Файл печати сформирован". Заголовок страницы: "Справочник
земельных участков". В левом углу в этой же строке вывести текущую дату, а в
правом углу в этой же строке номер страницы. Запись справочника земли не
умещается в одну строку, поэтому будем выводить ее в две. В соответствии с этим
шапку страницы вывести в виде:
N
наименование местное
органич
азотные
калийн
К площадь
фосфорн
культ
культ
площадь
площадь
культ
культ
площадь
площадь
культ
свободно
площадь
N пред
Рабочему файлу присвоить имя RABFT.TXT. Названия культур извлекать из
файла KULTURA по строковому ключу, сформированному из N культуры. Если в
справочнике культур имени культуры не найдется, сделать запрос на ввод культуры
в справочник. Информационные строки в текстовый файл вывести в виде:
? str(NUCH,4), NAIM, str(KLAS1), str(PROC,5,1), KULT1, str(PRO1,5,1),KULT2,
str(PROC2,5,1), KULT3, str(PRO3,5,1)
? " -", str(ORGA,7,1,), str (ASOT,7,1), str(KALI,7,1), str(FOSF,7,1), str(PLO4,5,1),
KULT5, str(PLO5,5,1), str(CVOB,8,1), str(NPRE,3)
По нажатию клавиши F6 в состоянии ожидания действий выполнить
перезапись текстового файла RABFT.TXT. в файл DBF-го формата RABFP.DBF и
высветить его для просмотра. Для этого снова воспользуемся функцией dbedit
Clipper'a. В структуру файла RABFP.DBF ввести лишь одно текстовое поле длиной
80 символов.
Для печати файла RABFT.TXT создать специальную процедуру PRNBLAN1
вывода на печать 80-ти символьных записей. Выполнять вывод на печать по
нажатию клавиши F7, когда система находится в состоянии ожидания действий. В
дальнейшем процедуру PRNBLAN1 использовать для печати всех файлов, входящих
в систему.
Действия системы в состоянии ожидания по нажатию вышеописанных
клавиш идентичны для всех файлов БД. Поэтому в дальнейшем на этих вопросах не
останавливаемся.
Экран для файла сельхозкультур и кормов.
Зону вывода записей на экран начать с четвертой строки, закончить на 20-ой.
В нулевой строке вывести заголовок экрана: "Справочник сельхозкультур и кормов".
Справа в строке вывести текущую дату. Шапку видеограммы со второй строки
вывести в виде:
N
Наименование
культ
Кл
Урожай
Тр.р
Тр.м.
Стоим.Т
Стоим.уд.
К
Здесь Тр.р - трудоемкость ручных работ на 1 га;
Тр.м. - трудоемкость механизированных работ;
Стоим. т. - себестоимость тонны собственного корма или стоимость покупного;
Стоим.уд. - стоимость удобрений на 1 га посевов на земле класса Кл.
К - признак, является ли культура кормом для скота: 1 - корм, 0 - нет.
Подсказки для функциональных клавиш вывести в строках 23 и 24. Подвал
отсутствует. Рабочий файл для печати выводить с заголовком и шапкой:
"Справочник сельхозкультур и кормов". (урожайность в тоннах)
N
Наименование
культ
К
Урожайн
Труд.р.
Труд.м
Стоим.тонн
Стоим.уд.
К
Экран для файла животных.
Зону вывода записей на экране для функции DBEDIT определить с 4 по 14-ю
строку. В нулевой строке вывести заголовок и дату: "Справочник
сельскохозяйственных животных" . С первой по третью строку вывести шапку
видеограммы:
NК
Наименование
Кол
Вес
Тр.р
Тр.м к.рож.
к.выб.
план план стоимость
2г
3г
В подвале с 16 строки вывести шапку
NK
норма
стоимос.
N
K
норма
стоим. NK
норма
стоим.
NK
норма
стоимость
Под шапкой в трех строках вывести двенадцать норм для животного, на
котором находится курсор. В 22 и 23 строках вывести подсказки для
запрограммированных клавиш действия.
Рабочий файл для печати выводится с двумя шапками, которые выдаются для
каждого животного. Под первой шапкой выдается общая информация о животном.
Под второй шапкой нормы потребления кормов для него. Вид шапок:
N
NK
наименование
норма
стоим
кол
NK
вес
Тр.р.
норма
стоим
Тр.м.
NK
к.рожд.
норма
к.выб.
стоим
пл.2
NK
пл.3
стоим.
норма стоим
В 21-ой строке сообщить: “ Файл печати сформирован”.
Экран для файла ограничений.
Зона для записей файла находится с 5 по 21 сроку. В нулевой строке экрана вывести
дату и заголовок:”Ограничения на переменные в тоннах, поголовье, га” С первой
строки вывести шапку видеоформы:
наименова-ние
перем.
нижняя
граница1
верхняя
граница 1
нижняя
граница2
верхняя
граница 2
нижняя
граница 3
верхняя
граница 3
3.3. Алгоритм программы формирования матрицы
математической модели.
Требования к форме представления входных данных математической модели
для пакета МПС описаны в [11,12]. Существует две формы представления. Первая
форма, когда матрица математической модели вводится по столбцам в
перфокарточном формате, т.е. записями длиной в 80 символов. В одной записи
можно указать два ненулевых коэффициента. Формат международный и широко
используемый, однако громоздковат и не экономно используется внешняя память.
Вторая форма представления входных данных приближена к естественной записи
ограничений в математике. В этой форме записи файла также имеют длину 80
символов, но в одной записи можно задать столько переменных с коэффициентами,
сколько влезет в строку. Поэтому эта форма ввода матрицы требует меньше внешней
памяти для записи модели. Дадим мнемонические имена переменным модели и
строкам ограничений. Как правило, имена переменных будут составными. Первая
часть имени будет говорить о том, к каким объектам модели относится это имя,
другие части будут связаны с индексами переменных. Они будут обозначать N
культуры, земли, животного, интервала времени или года и т.д. Опишем имена
некоторых переменных модели, их имена в матрице и структуру в таблице 2.
Таблица 2:
перемен имя в
ные в матрице
модели
J999
Jfg
Zg
Z9
пояснение частей
1ч.
2ч. 3ч. 4ч
J
99
Z
9
9
количество животных из КРС;
N животного; N года
количество нетелей, переводимые в
стадо; N года
Jfg
S999
S
99
9
ZMg
ZM9
ZM
9
ZXg
ZX9
ZX
9
ZGgk
ZG99
ZG
9
9
Rkg
R99
R
9
9
Xgk
X99
X
9
9
Ygk
Y99
Y
9
9
Xijg
X99999
X
9
999 9
Oig
O9999
O
999 9
TPRg
TVPR9
TVPR 9
PRRg
DOXR
DOXR 9
ZRg
TPJg
ZTRR9
DOXJ9
ZTRR 9
DOXJ 9
ZJg
TPSg
ZTRJ9
DOXS9
ZTRJ 9
DOXS 9
ZEig
TRg
ZE99
TRR9
ZE
TRR
9
9
TRMg
TRM9
TRM
9
TJg
TJR9
TJR
9
TJg
TJM9
TJM
9
TSg
TSR9
TSR
9
TSg
TSM9
TSM
9
NPg
NP9
NP
9
9
количество свиней; N животного от 5 до
9; N года
количество свиноматок, идущих на
забой; N года
количество хряков, идущих на забой; N
года
количество свиней, готовых для забоя; N
года; N интервала в году
количество свиней, переводимых в
племенное стадо в конце нтервала; N
интервала в году; N года
количество хряков, переводимых в
племенное стадо; N интервала в году; N
года
количество поросят, родившихся за
интервал; N интервала; N года
план посева (посадок) в га; класс земли;
N культуры N года
продукция растениеводства, оставшаяся
для продажи, после удовлетворения
своих потребностей; N культуры; N года
стоимость продукции растениеводства,
предназначенной для продажи; N года
стоимость всей продукции,
произведенной
растениеводством; N года
затраты растениеводства; N года
стоимость всей продукции живтноводства (КРС); N года
затраты животноводства; N года
стоимость продукции свиноводства; N
года
дефицит земли в га; класс земли; N года
дефицит трудовых ресурсов для ручных
работ в растениеводстве; N года
дефицит трудовых ресурсов для
механизированных работ в растениеводстве; N года
дефицит трудовых ресурсов для ручных
работ в животноводстве; N года
дефицит трудовых ресурсов для
механизи-рованных работ в
животноводстве; N года
дефицит ручных трудовых ресурсов в
свиноводстве;N года
дефицит механизированных трудо-вых
ресурсов в свиноводстве;N года
недостаток площади свинарника; N года
Имена строк ограничений и их структура
Таблица 3:
N имя в
огр матрице
модели
TRUDRR9
1ч
2 ч 3 ч пояснения
TRUDRR
9
TRUDRM9
TRUDRM
9
TRUDJR9
TRUDJR
по ручным трудовым ресурсам
растениеводства; N года
по механизированным трудовым
ресурсам растениеводства; N года
по ручным трудовым ресурсам
животноводства; N года
по ручным трудовым ресурсам
свиноводства; N года
9
TRUDSR
9
ZEML99
ZEML
9
9
PRODR9999
PRODR
99
9
KORM9999
KORM
99
99
KOLVKOR9
KOLVNET9
KOLVBIK9
KOLVTEL9
NIGOBN9
KOLVKOR
KOLVNET
KOLVBIK
KOLVTEL
NIGOBN
9
9
9
9
9
VEGOBN9
KOLVMA9
VEGOBN
KOLVMA
9
9
KOLVGO9
KOLVGO
9
KOLVOT9
KOLVOT
9
KOLVPO9
KOLVXR9
BRAKSVM9
BRAKGO99
KOLVPO
KOLVXR
BRAKSVM
BRAKGO
9
9
9
9
9
BRAKSVX9
VEGR99
BRAKSVX
VEGR
9
9
9
EQUALH99
EQUALH
9
9
EQUALY99
EQUALY
9
9
PLOCSV9
TOVPR9
PLOCSV
TOVPR
9
9
DOXODR9
DOXODR
9
DOXODJ9
DOXODJ
9
TRUDSR9
по использованию земли; класс земли;
N года
по объему продукции растениеводства; N культуры; N года
потребность в кормах; N корма; N
года
по количеству коров; N года
по количеству нетелей; N года
по количеству быков; N года
по количеству телят; N года
по нижней границе обновления стада;
N года
тоже по верхней границе; N года
по поголовью стада свиноматок; N
года
по количеству свиней, готовых к
забою; N года
по поголовью свиней на откорме; N
года
по поголовью стада поросят; N года
по обороту стада хряков; N года
по выбраковке свиноматок; N года
по выбраковке готовых к забою
свиней; N года; N интервала в году
по выбраковке хряков; N года
по верхней границе количества
свиноматок, переводимых в маточное
стадо; N года; N интервала в году
по пополнению стада хряков; N стада;
N интервала
по поголовью поросят, родившихся
внутри года; N года; N интервала
по площади свинарника; N года
по товарной продукции
растениеводства; N года
по продукции растениеводства; N
года
по продукции животноводства; N года
DOXODS9
DOXODS
9
ZATRR9
ZATRJ9
ZATRS9
DOXOD9
ZATRAT9
PRIBR9
PRIBR
PRIBJ9
PRIBS9
PRIBZ9
PRIBJ
PRIBS
PRIBZ
ZATRR
ZATRJ
ZATRS
DOXOD
ZATRAT
PRIBR
9
9
9
9
9
9
PRIBJ
PRIBS
PRIBZ
PRIBJ
PRIBS
PRIBZ
9
9
9
по всей продукции свиноводства; N
года
по затратам растениеводства; N года
по затратам животноводства; N года
по затратам свиноводства; N года
по всей продукции хозяйства; N года
по всем затратам хозяйства; N года
по прибыли растениеводства; N года
по прибыли растениеводства за 3 года
по прибыли животноводства; N года
по прибыли свиноводства; N года
по прибыли звероводства; N года
по прибыли животноводства за 3 года
по прибыли свиноводства за 3 года
по прибыли звероводства за 3 года
Возможны разные варианты алгоритма формирования матрицы. Модельный
подход к экономическим процессам может потребовать перестроек и дополнений
модели и соответствующего изменения программы формирования матрицы. Кроме
того, предполагается расширение модели за счет включения в нее новых отраслей.
Наиболее подходящим в этих условиях является модульный принцип разработки
структурной программы, позволяющий быстро ее перестраивать. Поэтому наиболее
часто повторяющиеся действия по выводу матрицы должны быть
запрограммированы в отдельных небольших модулях. В начале необходимо извлечь
необходимую информацию из базы данных в таблицы памяти. Из файла животных
создать в памяти массив структуры:
- вид животного;
- стоимость;
- N корма;
- норма потребления;
Последние два поля могут повторяться до двенадцати раз. В Clipper»е такая
структура массива описывается скобками:{{“вид животного”, стоимость}, {“N
корма”, норма потребления},...},...}
Кроме того, из файла животных необходимо извлечь информацию для
формирования в памяти массива трудоемкости содержания животных, имеющего
структуру:
- вид животного;
- полные затраты по содержанию;
- трудоемкость ручных работ;
- трудоемкость механизированных работ;
Данные во все массивы вывести преобразованными в символьный вид. В
таком виде данные необходимо вывести в матрицу математической модели. При
отсутствии в базе данных животного, требуемого по структуре запрошенной модели,
выдать сообщение. Например: “В файле животных нет данных о хряках”.
Читать файл сельхозкультур. Из него создать три массива в памяти: кормовые
культуры растениеводства, некормовая продукция растениеводства, трудоемкость
возделывания эемли разного класса под культуры. Структура массива кормов:
- N корма;
- стоимость.
Массив некормовых культур имеет такую же структуру. Для массива
трудоемкости возделывания культур описать структуру:
- N культуры;
- класс земли;
- трудоемкость ручных работ на га;
- трудоемкость механизированных работ на га;
- урожайность на га;
- стоимость ручных работ на га;
- стоимость механизированных работ на га;
- стоимость удобрений.
Из файла земли создать массив земли:
- класс земли;
- площадь.
Для этого открыть файл земли индексированный по классу земли, читать файл
и подсчитать итоговую площадь для каждого класса. Далее перейти к выводу
матрицы в соответствии с правилами, определенными в [ 11,12].
Общая идея формирования записи матрицы будет состоять в том, что мы
будем её наращивать, добавляя переменную за переменной с коэффициентом и
знаком до достижения длины записи в 80 байтов. Как только в записи не уместиться
очередная переменная, запись выводится в буфер, а оттуда в выходной файл. С не
уместившейся переменной начнем формирование новой записи. Алгоритмы
формирования строк переменных разные для разных секций переменных.
Унифицируется то, что можно.
Для формирования матрицы необходимо информацию из базы данных АРМ
перенести в таблицы памяти. Эту работу должны выполнить процедуры TablJivotn,
TablKultura, TablZemlq. Вывод матрицы по секциям запрограммировать в
процедурах FormTitle, FormObjective, FormBounds и FormConstraints.
Для вывода матрицы необходимо создать также функции и процедуры
пользователя:
OutFile(cBuffer) - вывода готовой строки матрицы в буфер;
OutFileAdd(nKoef,cVar) - добавления в выходную запись матрицы очередного
слагаемого со знаком, коэффициентом и именем переменной;
RegionName(cName) - записи имени строки ограничений в начало строки;
Koef(aTrudJivElem,cObjFunc) - расчета коэффициентов целевой функции при
переменных, относящихся к КРС, свиньям и норкам, коэффициент должен быть
разностью доходов и расходов от содержания животных.
Из функции FormObjective должны вызываться функции:
FormObjJiv - формирования переменных для животных с коэффициентами,
отражающими вклад в целевую функцию животного;
FormObjSv - то же для свиноводства;
FormObjZv - то же для звероводства;
FormObjRast - формирования переменных, связанных с использованием земли
под сельхозкультуры, с коэффициентами, отражающими эффективность её
использования;
FormObjEconomy - формирования переменных, предназначенных для расчета
экономических показателей;
FormObjFlexible - формирования свободных переменных со штрафами для
обеспечения гибкости ограничений.
Формирование матрицы начинается с вывода секции TITLE. Далее вывести
заголовок секции OBJECTIVE:..OBJECTIVE MAXIMAZE и все переменные модели
с использованием вышеназванных функций.
Далее работает процедура для вывода секции границ переменных. Она
вначале должна вывести заголовок секции, потом проверить, существует ли файл
ограничений на переменные. Если не существует - выдать сообщение и прервать
процесс формирования матрицы. Если существует, проверить, есть ли в файле
информация. Если есть, то для каждой записи файла вывести нижние и верхние
границы изменения переменной для трех лет в виде шести записей в выходном
файле, иначе прервать процесс формирования матрицы.
Перейти к секции ограничений. Вывести заголовок секции “CONSTRAINTS”.
Для формирования этой секции необходимо разработать функции. Вот
некоторые из них:
FormConLand(aLandElem) - формирования ограничений по использованию
земли;
FormConProd(aProdElem) - формирования ограничений по объемам продукции
растениеводства;
FormConTrud(aTrudElem,cNameCon,cNameVar,cNameFVar,nVidRes,nKolvRes
) - формирования ограничений по трудовым ресурсам;
FormConJiv(cNameCon,nKoef,nDeg,cVid) - формирования ограни-чений,
связанных со стадом КРС;
FormSvOborot - моделирования оборота стада свиней;
FormZvOborot - моделирования оборота стада зверей;
FormConKorm(aKormElem) - формирования ограничений по потребности
хозяйства в кормах;
FormConProd(aProdElen) - формирования ограничений по oбъёмам
производства продукции растениеводства.
FormConDoxR(aProdElen) - формирования ограничений по доходам
растениеводства.
Формирование секции ограничений начать с вывода ограничений по
трудовым ресурсам растениеводства в цикле по годам из информации массива по
трудоемкости возделывания культур и файла памяти MMM.MEM, где заданы
объемы трудовых ресурсов растениеводства, сформировать по три ограничения на
использование ручных и механизированных трудовых ресурсов растениеводства.
Используя массив трудоемкости содержания животных, сформировать
ограничения по использованию ручных и механизированных ресурсов в
животноводстве, свиноводстве и звероводстве.
Ограничения по использованию земли формировать с использованием
массива трудоемкости возделывания культур и массива земли.
Ограничения по объемам производства продукции растениеводства
формировать с использованием массива трудоемкости возделывания культур.
Подробное описание алгоритма потребовало бы слишком много места. В
рамках данной работы ограничимся вышеизложенным. Заметим, что готовая
программа, в которой реализован данный алгоритм составляет 64630 байтов, а все
программы комплекса в существующем в виде имеют объем 281489 байтов .
3.4. Инструкции по загрузке информации в базу данных АРМ и
эксплуатации системы.
1. Создать каталог CXPR для программ и файлов АРМ и загрузить систему с
дискеты на винчестер.
2. Создать каталог MPSIR (matematical programming system with integer
variables). Загрузить программы оптимизатора в каталог. Инсталлировать систему в
соответствии с указаниями файла README.
3. Запустить головную программу системы CXPR.EXE. Высветится главное
меню.
4. Войти в первый пункт главного меню: “Картотека земли”. Занести
информацию в количестве земли разного класса в хозяйстве. Качество земли
нумеровать от 1 через 1. Например;
1 - лучшая пахотная земля (1-го класса);
2 - хорошая пахотная земля (2-го класса);
3 - пахотная земля (3-го класса);
4 - сенокосы на лугах (4-го класса);
5 - пастбища, и т.д.
Для рассматриваемой задачи планирования важно знать лишь общее
количество земли каждого класса. Поэтому достаточно одной записи на каждый
класс. Однако, в системе предусмотрена возможность ввода участков земли с
местными названиями. В этом случае система сама подсчитает общие площади по
классам.
5. Войти во 2-ой пункт меню: “Сельскохозяйственные культуры и корма”.
Сельхозкультуры и корма рекомендуем предварительно перенумеровать.
Желательно через десятку, чтобы потом можно было внести новые культуры.
Перенумерованные культуры занести в файл по предлагаемому на видеограмме
макету. Каждая культура вводится отдельной записью для каждого класса земли, на
которой она может возделываться с указанием средней урожайности и трудоемкости
возделывания, с затратами на удобрения.
6. Войти в третий пункт меню: “Животноводство” и по предложенному макету
ввести в файл животных информацию об имеющемся в хозяйстве количестве коров,
нетелей, животных на откорме и телят. Животные должны быть перенумерованы
через 1 и иметь номера:
1 - корова;
2 - нетель;
3 - животные на откорме;
4 - телята.
Если в хозяйстве есть свиноводство, то им присвоить номера:
5 - свиноматка;
6 - откормленная свинья;
7 - свинья на откорме возрастом больше четырех месяцев;
8 - поросенок, животное до четырехмесячного возраста;
9 - хряк.
Инфомацию о количестве животных и другую, требуемую по макету ввести в
БД.
Если в хозяйстве есть звероводство, то зверькам присваиваются номера:
10 - зверьки маточного стада;
11 - самцы племенного стада;
12 - зверьки подростки, куда входят животные от возраста щенков до
забойного возраста.
7. Войти в пункт четыре главного меню: “ Структура модели, цены и
технологические константы”. На экране высветится перечень отраслей с/х
производства, которые могут быть в хозяйстве:
- растениеводство 1 - да, 0 - нет; фиксировать на 1
- животноводство 1 - да, 0 - нет; фиксировать на 1
- переработка мяса 1 - да, 0 - нет; выбрать
- свиноводство 1 - да, 0 - нет; выбрать
- звероводство 1 - да, 0 - нет; выбрать
- рыболовство 1 - да, 0 - нет; не запрограммировано
- строительство 1 - да, 0 - нет; не запрограммировано
- заготовка леса 1 - да, 0 - нет; не запрограммировано
- переработка леса 1 - да, 0 - нет; не запрограммировано
- экономические показатели 1 - да, 0 - нет; выбрать
- ограничения 1 - нежесткие, 0 жесткие; выбрать
- восстановление стада КРС: 1 - полное, 0 - неполное; выбрать
- восстановление основных фондов животноводства: 1 - полное,
0 - неполное; выбрать
В данной версии программ АРМ предусмотрен только случай, когда в
хозяйстве есть растениеводство и ферма КРС, хотя бы по одному животному.
Поэтому по первым двум пунктам на запрос системы нужно отвечать 1.
Для рыболовства, строительства, заготовки и переработки леса в данной версии
АРМ программы не разработаны. Экономические показатели, кроме прибыли, в
модели не являются существенными. Они не влияют на решение, а являются чисто
расчетными и используются дальше при выдаче итогов решения задачи. Эти
показатели можно было бы получить и в программах обработки результатов, но в
данной реализации АРМ некоторые итоги берутся готовыми из решения. Поэтому
рекомендуем выбрать режим включения экономических показателей в модель.
Ограничения модели рекомендуется выбирать нежесткие. Тогда решение
задачи всегда будет допустимым и оно покажет так называемое “узкие места”
хозяйства, то есть покажет те ресурсы, увеличение которых в первую очередь
приведет к увеличению прибыли хозяйства.
Следующий пункт позволяет требовать от модели неубывающего
воспроизводства стада КРС независимо от экономической целесообразности. Для
этого нужно установить показатель в 1. Если установить в 0, то стадо может
сокращаться в условиях отсутствия прибыли. Как альтернативный вариант
сохранения убыточного животноводства можно потребовать неубывающего
воспроизводства суммарной стоимости стада КРС и стада свиней. То есть,
разрешить одному стаду расти за счет второго более убыточного. Для этого
восстановление стада КРС нужно установить в 0, а восстановление основных
фондов в 1.
В этом же пункте меню высвечиваются коэффиценты, нормативы, цены на
продукцию животноводства, средние показатели продуктивности животных, и так
далее. Эти показатели нужно ввести в АРМ и по мере необходимости обновлять.
Здесь же задаются имеющиеся в хозяйстве трудовые ресурсы, площади свинофермы
по годам, штрафы за дефицит ресурсов.
8. Войти в пункт главного меню: “ Ограничения на объемы производства”. В
предлагаемую видеограмму занести вначале ограничения по производству
сельхозкультур на каждый год трехлетнего горизонта. Для кормов: трава, сено,
силос, сенаж, травяная мука в ограничениях по годам нужно указать нижнюю и
верхнюю границу величины запаса или потребности для продажи. Собственная
потребность в этих кормах рассчитывается по нормам расхода автоматически и
требуемая для производства этих кормов земля будет зарезервирована и выведена в
решении. То есть, в системе предусмотрено полное обеспечивание кормами
собственного производства всего планируемого поголовья. Для сельхозкультур, не
являющихся кормами, указываются нижняя и верхняя граница производства по
годам. В этот же файл вводим нижние и верхние границы допустимых пределов
изменения поголовья животных по годам и по группам. Для первого года нижняя и
верхняя граница поголовья должны совпадать и равняться фактическому поголовью.
Обеспечив АРМ в пунктах 1-5 меню необходимой информацией можно
приступить к оптимизационному расчету. Для этого нужно войти в пункт меню: “
Формирование матрицы”, где выполняется обработка всей имеющейся информации
и ее представление в виде матрицы математической модели. Матрица включает все
возможные в данных условиях варианты развития хозяйства. Остается найти
лучший.
Эта работа будет выполнена специальным программным обеспечением, в
котором запрограммирован математический аппарат поиска оптимальных решений.
Инструкция по его запуску содержится в пункте “Выполнение оптимизационного
расчета”. В этой инструкции говорится, какой командный файл с расширением .BAT
необходимо запустить и с какими параметрами. Оптимизация может быть запущена
и через командную строку, в которой нужно, например, набрать команду:
MPSIR MATR.LP OUTPUT SOL1. PRN ALTERNATE 1.
Здесь MPSIR - имя оптимизационной программы.
MATR.LP - имя файла с матрицей математической модели. Ключевое слово
OUTРUP говорит оптимизатору, что за ним следует имя файла, в который следует
вывести оптимальное решение. В данном случае это SOL1.PRN, оно может быть
произвольным с расширением PRN. Ключевое слово ALTERNATE сообщает
оптимизатору, что за ним следует количество оптимальных решений, которое нужно
вывести в файл решений в том случае, когда окажется несколько равнозначных с
точки зрения целевой функции. В данном примере мы запросили одно, так как все
альтернативные решения обеспечивают одинаковую прибыль. В командной строке
могут быть заданы и другие параметры. Подробное описание дано в [11,12].
В пункте восемь меню поступит запрос: “Введите имя файла с решением
задачи”.
При входе в пункт девять высветится дополнительное меню с анализом
оптимального плана в различных разрезах. Это меню может быть значительно
расширено. Для примера включен анализ изменения по годам следующих
показателей:
1. Поголовье крупного рогатого скота.
2. Затраты животноводства.
3. Свиноводство на начало года (прогноз поголовья).
4. План производства свинины.
5. План использования земли.
6. Производство продукции растениеводства.
7. Поголовье норок в каждый год горизонта планирования.
8. План производства шкур.
9. Субпродукты собственного производства.
10. Затраты на содержание одного зверька.
11. Экономические показатели.
В первом, третьем и седьмом пунктах приводится динамика изменения стад
по годам. В последнем пункте представлена динамика затрат и прибыли всех
отраслей хозяйства по годам. Некоторые формы выходных документов для анализа
приведены в приложении 1. Цифровые данные в нем приведены из расчета,
выполненного для условного хозяйства по условным исходным данным. Помимо
решения основной задачи поиска наиболее прибыльного варианта развития
хозяйства, с использованием АРМ могут быть вычислены количественные оценки
изменения прибыли в рублях при изменении различных факторов. Например, могут
быть решены перечисленные ниже задачи.
Некоторые задачи планирования, которые могут быть решены с применением
АРМ.
1. Определение влияния на прибыль хозяйства собственной переработки мяса.
2. Определение влияния на прибыль увеличения/уменьшения продуктивности
земли на заданный %.
3. Определение влияния на прибыль снижения/увеличения себестоимости
кормов на заданный %.
4. Определение влияния снижения/увеличения трудоемкости работ в
земледелии и животноводстве.
5. Определение влияния снижения/увеличения закупочных цен на прибыль.
6. Поиск величины цены на продукцию животноводства, которая при заданных
затратах обеспечит расширенное воспроизводство стада.
7. Определение уровня затрат на корма и содержание животных, которые при
заданных ценах на продукцию животноводства обеспечили бы условия для
расширенного воспроизводства.
8. Получение прогноза потребности в дополнительных площадях свинарника
на будущие интервалы при расширенном воспроизводстве стада свиней.
9. Определение влияния на прибыль увеличения/уменьшения среднего
количества поросят в одном опоросе, щенков в помете.
10. Определение влияния на прибыль увеличения/уменьшения веса сдаваемых
животных.
11. Определение влияния на прибыль изменения коэффициентов выхода мяса
из живого веса животного и выхода мясопродуктов из мяса.
12. Определение влияния на прибыль увеличения надоя от одной коровы на n
литров и т.д.
Могут быть решены и многие другие задачи. Например, систему можно
перестроить и включить разные рационы кормления животных, сравнить их
экономическую эффективность.
Решение задачи объемного планирования производства в хозяйстве с
помощью ПК и ее всесторонний анализ путем решения задач типа 1-12 и им
подобных помогут выявить какие направления работы по совершенствованию
управления хозяйством могут принести скорейший и наибольший экономический
эффект. Они подготавливают принятие оптимальных организационных и плановых
решений. Например, можно просчитать, целесообразно ли хозяйству заняться
свиноводством. Для этого в БД необходимо ввести предполагаемое исходное
поголовье, нормы расхода кормов, трудоемкости содержания. При этом система
сама рассчитает как нужно организовать оборот стада, чтобы получить максимум
прибыли на трехлетнем горизонте планирования и даст прогноз потребности в
площадях. Интенсивность роста или убывания стада будет определяться
соотношением ожидаемых текущих затрат по содержанию животных и ожидаемой
стоимости произведенной продукции.
Решению задачи планирования должно предшествовать изучение рынка. При
этом необходимо выяснить кому, когда и сколько продукции можно реализовать и
по какой цене. Специалисты должны определить возможные границы производства
и сбыта продукции и занести эту информацию до выполнения оптимизационных
расчетов в БД.
Разработанная система не претендует ни на полноту, ни на глубину охвата
рассматриваемой проблемы, так как она разработана не специалистом в области
сельского хозяйства, а математиком. Ее следует рассматривать как первое
приближение и действительности по охвату специфических сельскохозяйственных
аспектов. Целью работы являлась проверка принципиальной возможности
автоматизации и оптимизации планирования сельскохозяйственного производства с
использованием существующего сегодня компьютерного, математического и
программного обеспечения. Разработанное для реализации приведенных
математических моделей программное обеспечение и его использование показало,
что автоматизация и оптимизация планирования сельскохозяйственного
производства с использованием ПК задача реализуемая. Разработку плана
производства на три года с разбивкой по годам и его всесторонним анализом
средний компьютер выполняет в считанные минуты. Включение специфических
аспектов сельскохозяйственного производства, однако, не связанных с капризами
природы и рынка, и расширение охвата проблемы является делом техническим и
может быть выполнено математиком с участием специалистов по сельскому
хозяйству. Использование системы в практике планирования сельскохозяйственного
производства увеличит научную обоснованность плана и может предотвратить
принятие неправильных решении в силу того, что позволяет просчитать
эффективность любого заданного плана. Для этого достаточно верхнюю и нижнюю
границу изменения переменных фиксировать на заданных значениях. И тут же,
представив системе некоторую степень свободы в границах изменения переменных,
можно получить лучший вариант плана.
Список литературы:
1. Бункин В. А., Колев Д. и др. Справочник по оптимизационным задачам а АСУ. Л.,
“Машиностроение”, 1984.
2. Бункин В. А., Курицкий Б. Я. и др. Решение задач оптимизации в управлении
машиностроительным производством. Л., “Машиностроение”, 1976.
3. "Экономика сельского хозяйства России",N1, 1995. ст. “Информатизация
АПК”,стр. 9-14.
4. Фролова Л.А. “Планирование показателей развития республиканского АПК
на перспективу с использованием методов оптимизации”, "Экономика и
математические методы",т.24 вып.4, 1988
5. Фролова Л.А. “Агропромышленный комплекс в условиях экономической
самостоятельности союзной республики”,ж.”Экономика и математические методы".
т.27 вып.2, 1991.
6. Фролова Л.А., Егоренкова А.А. Региональный аспект планирования
животноводства республики в новых условиях хозяйствования. ж. Народное
хозяйство. Ч. 1. Экономические проблемы управления народным хозяйством
республики. -Рига: Изд-во Латв. ун-та, 1990 г.
7. Беркинов Б., Тургунов С., Махмудов Б.М. Многоуровневая модель и
имитационная система внутрихозяйственного планирования в сельскохозяйственных
предприятиях, ж. “Экономика и математические методы", т.26 вып.6, 1990.
8. Житков В.А., Морозов А.В., Царфин Л.В. Модельный инструментарий для
прогноза фермерского производства. ж. "Экономика и математические методы". т.31
вып.4, 1995.
9. Габасов Р., Кирилова Ф.М. Методы линейного программирования. Ч. 3. Минск, издательство БГУ имени В.И.Ленина и Госкомиздата БССР, 1980 г.
10. Таха Х. Введение в исследование операций. Ч. 1 и 2. -М: "Мир", 1985 г.
11.
Система
математического
(линейного
и
целочисленного)
программирования для ПЭВМ. Руководство пользователя. Версия 1.01r.
Новосибирск, 1990 г.
12. Пакет математического программирования для ПЭВМ (целочисленный
модуль). Руководство пользователя MPSIR - версия 1.0r. -Новосибирск, 1990 г.
13. Clipper 5.0. Руководство пользователя.
14. А.Н. Канатников, С.Б. Ткачев Программирование в среде CLIPPER.
15. Справочник по звероводству в вопросах и ответах. Под ред. проф.
Берестова В.А. -Петрозаводск "Карелия", 1987 г.
Приложение 1
1.1. Формы некоторых выходных документов
***
ПОГОЛОВЬЕ КР.РОГАТОГО СКОТА
Наименование
КОРОВЫ
НЕТЕЛИ
БЫЧКИ
ТЕЛЯТА
ОБНОВЛ. СТАДА
***
¦ Кол-во 1994
500
220
230
450
125
***
¦ Кол-во 1995 ¦ Кол-во 1996
500
500
216
216
234
234
450
450
125
125
ЗАТРАТЫ НА СОДЕРЖАНИЕ ЖИВОТНЫХ
***
Наименование ¦Год ¦ Ст-ть¦Тр-сть ¦Стнч¦Затраты¦Тр-сть Стнч¦Затраты ¦Затраты
животного
:
¦ кормов¦ руч ¦ руч ¦ руч ¦ мех ¦ мех¦ мех ¦общие
КОРОВЫ ¦1994¦1595000¦ 150000¦ 7 ¦1050000¦ 12500¦ 10 ¦ 124875¦ 2769875
КОРОВЫ ¦1995¦1595000¦ 150000¦ 7 ¦1050000¦ 12500¦ 10 ¦ 124875¦ 2769875
КОРОВЫ ¦1996¦1595000¦ 150000¦ 7 ¦1050000¦ 12500¦ 10 ¦ 124875¦ 2769875
НЕТЕЛИ ¦1994¦ 638000¦ 33000¦ 7 ¦ 231000¦ 3300¦ 10 ¦ 32967¦ 901967
НЕТЕЛИ ¦1995¦ 626400¦ 32400¦ 7 ¦ 226800¦ 3240¦ 10 ¦ 32368¦ 885568
НЕТЕЛИ ¦1996¦ 626400¦ 32400¦ 7 ¦ 226800¦ 3240¦ 10 ¦ 32368¦ 885568
БЫЧКИ
¦1994¦ 667000¦ 34500¦ 7 ¦ 241500¦ 3450¦ 10 ¦ 34466¦ 942966
БЫЧКИ
¦1995¦ 678600¦ 35100¦ 7 ¦ 245700¦ 3510¦ 10 ¦ 35065¦ 959365
БЫЧКИ
¦1996¦ 678600¦ 35100¦ 7 ¦ 245700¦ 3510¦ 10 ¦ 35065¦ 959365
ТЕЛЯТА
¦1994¦ 307350¦ 33750¦ 7 ¦ 236250¦ 4500¦ 10 ¦ 44955¦ 588555
ТЕЛЯТА
¦1995¦ 307350¦ 33750¦ 7 ¦ 236250¦ 4500¦ 10 ¦ 44955¦ 588555
ТЕЛЯТА
¦1996¦ 307350¦ 33750¦ 7 ¦ 236250¦ 4500¦ 10 ¦ 44955¦ 588555
ПЛЕМ.НОРКИ¦1994¦ 40680¦ 2100¦ 5 ¦ 10500¦ 900¦ 10 ¦ 8991¦ 60171
ПЛЕМ.НОРКИ¦1995¦ 40680¦ 2100¦ 5 ¦ 10500¦ 900¦ 10 ¦ 8991¦ 60171
ПЛЕМ.НОРКИ¦1996¦ 40680¦ 2100¦ 5 ¦ 10500¦ 900¦ 10 ¦ 8991¦ 60171
НОРКИ САМЦ¦1994¦ 9636¦ 420¦ 5 ¦ 2100¦ 180¦ 10 ¦ 1798¦ 13534
НОРКИ САМЦ¦1995¦ 9636¦ 420¦ 5 ¦ 2100¦ 180¦ 10 ¦ 1798¦ 13534
НОРКИ САМЦ¦1996¦ 9636¦ 420¦ 5 ¦ 2100¦ 180¦ 10 ¦ 1798¦ 13534
НОРКИ ПОДР¦1994¦ 163800¦ 9000¦ 5 ¦ 45000¦ 3600¦ 10 ¦ 35964¦ 244764
НОРКИ ПОДР¦1995¦ 163800¦ 9000¦ 5 ¦ 45000¦ 3600¦ 10 ¦ 35964¦ 244764
НОРКИ ПОДР¦1996¦ 163800¦ 9000¦ 5 ¦ 45000¦ 3600¦ 10 ¦ 35964¦ 244764
СВИНОМАТКИ¦1994¦ 80080¦ 2600¦ 7 ¦ 18200¦ 320¦ 10 ¦ 3197¦ 101477
СВИНОМАТКИ¦1995¦ 190190¦ 6175¦ 7 ¦ 43225¦ 760¦ 10 ¦ 7592¦ 241007¦
СВИНОМАТКИ¦1996¦ 142142¦ 4615¦ 7 ¦ 32305¦ 568¦ 10 ¦ 5674¦ 180121¦
СВИНЬИ ЗАБ ¦1994¦
0¦
0¦ 7 ¦
0¦
0¦ 10 ¦
0¦
0
СВИНЬИ ЗАБ ¦1995¦
0¦
0¦ 7 ¦
0¦
0¦ 10 ¦
0¦
0
СВИНЬИ ЗАБ ¦1996¦
0¦
0¦ 7 ¦
0¦
0¦ 10 ¦
0¦
0
СВ.НА ОТКО ¦1994¦ 216680¦ 5000¦ 7 ¦ 35000¦ 600¦ 10 ¦ 5994¦ 257674
СВ.НА ОТКО ¦1995¦ 216680¦ 5000¦ 7 ¦ 35000¦ 600¦ 10 ¦ 5994¦ 257674
СВ.НА ОТКО ¦1996¦ 216680¦ 5000¦ 7 ¦ 35000¦ 600¦ 10 ¦ 5994¦ 257674
ПОРОСЯТА ¦1994¦ 33940¦ 6000¦ 7 ¦ 42000¦ 1000¦ 10 ¦ 9990¦ 85930
ПОРОСЯТА
ПОРОСЯТА
ХРЯКИ
ХРЯКИ
¦ ХРЯКИ
¦ ИТОГО
¦ ИТОГО
¦ ИТОГО
¦1995¦ 45310¦ 8010¦ 7 ¦ 56070¦
¦1996¦ 62450¦ 11040¦ 7 ¦ 77280¦
¦1994¦ 9910¦
175¦ 7 ¦ 1225¦
¦1995¦ 19820¦
350¦ 7 ¦ 2450¦
¦1996¦ 15856¦ 280¦ 7 ¦ 1960¦
¦1994¦ 3762076¦ 276545¦ 0 ¦1912775¦
¦1995¦ 3893466¦ 282305¦ 0 ¦1953095¦
¦1996¦ 3858594¦ 283705¦ 0 ¦1962895¦
***
1335¦ 10 ¦ 13337¦ 114717
1840¦ 10 ¦ 18382¦ 158112
40¦ 10 ¦ 400¦ 11535
80¦ 10 ¦ 799¦ 23069
64¦ 10 ¦ 639¦ 18455¦
30390¦ 0 ¦ 303597¦ 5978448¦
31205¦ 0 ¦ 311738¦ 6158299¦
31502¦ 0 ¦ 314705¦ 6136194¦
ПОГОЛОВЬЕ СТАДА НОРОК
***
¦ Наименование ¦ Кол-во 1994 ¦ Кол-во 1995 ¦ Кол-во 1996
¦ ПЛЕМ.НОРКИ ¦
300 ¦
300 ¦
300
¦ НОРКИ САМЦ ¦
60 ¦
60 ¦
60
¦ НОРКИ ПОДР ¦ 1800 ¦ 1800 ¦ 1800
***
ПЛАН ПРОИЗВОДСТВА ШКУР
***
Наименование
¦ Цена +-----1994--год---- -+----1995--год--+----1996---год¦
¦ шкуры ¦ штук ¦ стоимость ¦штук¦стоимость ¦штук¦ стоимость¦
ПЛЕМ.НОРКИ¦ 200¦
75¦ 15000 ¦
75 ¦ 15000¦
75¦ 15000¦
НОРКИ САМЦ¦ 210¦
15¦
3150 ¦
15 ¦
3150¦
15¦
3150¦
НОРКИ ПОДР : 190¦ 1710¦ 324900 ¦ 1710 ¦ 324900¦ 1710¦ 324900¦
***
СВИНОВОДСТВО НА НАЧАЛО ГОДА
***
Наименование ¦ Кол-во 1994 Кол-во 1995¦ Кол-во 1996 ¦ Кол-во 1997
СВИНОМАТКИ ¦
40
¦
95 ¦
71 ¦
53
СВИНЬИ ЗАБ ¦ 200
¦
200 ¦
368 ¦
150
СВ.НА ОТКО ¦ 200
¦
200 ¦
200 ¦
276
ПОРОСЯТА
¦ 200
¦
267 ¦
368 ¦
150
ХРЯКИ
¦
5
¦
10 ¦
8 ¦
6
***
ПЛАН ПРОИЗВОДСТВА СВИНИНЫ
***
¦Наименование +
---1994-год-+------+-------+---1995-год-+------+--------+---1996-год+------+--------¦
¦
¦ 4 ¦ 8 ¦ 12 ¦ Вес ¦ Ст-ть
¦ 4 ¦ 8 ¦ 12 ¦ Вес ¦ Ст-ть ¦ 4 ¦ 8 ¦ 12 ¦ Вес ¦ Ст-ть ¦
¦ СВИНОМАТКИ ¦ 0¦ 0¦ 19¦ 2850¦ 28215¦ 0¦ 0¦ 24¦ 3600¦ 35640 ¦
0¦ 0¦ 18¦ 2700¦ 26730¦
¦ СВИНЬИ ЗАБ ¦ 163¦ 195¦ 200¦ 72540¦ 718146¦ 200¦ 267¦ 200¦ 86710¦ 858429¦ 200¦ 368¦ 368¦121680¦ 1204632¦
¦ ХРЯКИ
¦ 0¦ 0¦ 2¦ 360¦ 3564¦ 0¦ 0¦ 3¦ 540¦ 5346¦ 0¦ 0¦ 2¦ 360¦ 3564¦
***
Наименование
TРАВА
TРАВА
TРАВА
СИЛОС
ПЛАН ИСПОЛЬЗОВАНИЯ ЗЕМЛИ
***
¦Год ¦ Пло1 ¦ Пло2 ¦ Пло3 ¦ Пло4 ¦Общ.пло¦Труд.зтр¦ Ст-ть ¦
¦1994¦ 0.0 ¦ 0.0¦ 487.3¦ 0.0¦ 487.3¦ 68198¦ 233904¦
¦1995¦ 0.0 ¦ 0.0¦ 488.9¦ 0.0¦ 488.9¦ 68422¦ 234672¦
¦1996¦ 0.0 ¦ 0.0¦ 487.8¦ 0.0¦ 487.8¦ 68268¦ 234144¦
¦1994¦ 0.0 ¦ 341.3¦ 10.7¦ 0.0¦ 352.0¦ 49562¦ 441594¦
СИЛОС
СИЛОС
СЕНАЖ
СЕНАЖ
СЕНАЖ
СЕНО
СЕНО
СЕНО
¦1995¦ 0.0 ¦ 336.5¦ 20.3¦ 0.0¦ 356.8¦ 50502¦ 445914¦
¦1996¦ 0.0 ¦ 339.6¦ 14.6¦ 0.0¦ 354.2¦ 49979¦ 443664¦
¦1994¦ 0.0 ¦ 316.9¦ 0.0¦ 0.0¦ 316.9¦ 50682¦ 288379¦
¦1995¦ 0.0 ¦ 317.9¦ 0.0¦ 0.0¦ 317.9¦ 50842¦ 289289¦
¦1996¦ 0.0 ¦ 317.2¦ 0.0¦ 0.0¦ 317.2¦ 50730¦ 288652¦
¦1994¦ 489.1 ¦ 154.1¦ 0.0¦ 0.0¦ 643.2¦ 211813¦ 695728¦
¦1995¦ 487.3 ¦ 158.0¦ 0.0¦ 0.0¦ 645.3¦ 212695¦ 697456¦
¦1996¦ 488.4 ¦ 155.6¦ 0.0¦ 0.0¦ 644.0¦ 212150¦ 696384¦
ТРАВЯНАЯ МУКА ¦1994¦ 185.4 ¦ 0.0¦ 0.0¦
0.0¦ 185.4¦ 75621¦ 222480¦
ТРАВЯНАЯ МУКА ¦1995¦ 187.2¦
0.0¦ 0.0¦ 0.0¦ 187.2¦ 76355¦ 224640¦
ТРАВЯНАЯ МУКА ¦1996¦ 186.1¦
0.0¦ 0.0¦ 0.0¦ 186.1¦ 75906¦ 223320¦
КАРТОФЕЛЬ ¦1994¦ 120.0¦ 0.0¦ 0.0¦ 0.0¦ 120.0¦ 43902¦ 2400000¦
КАРТОФЕЛЬ ¦1995¦ 120.0¦ 0.0¦ 0.0¦ 0.0¦ 120.0¦ 43902¦ 2400000¦
КАРТОФЕЛЬ ¦1996¦ 120.0¦ 0.0¦ 0.0¦ 0.0¦ 120.0¦ 43902¦ 2400000¦
ТУРНЕПС
¦1994¦ 57.1¦ 0.0¦ 0.0¦ 0.0¦ 57.1¦ 15982¦ 1398950¦
ТУРНЕПС
¦1995¦ 57.1¦ 0.0¦ 0.0¦ 0.0¦ 57.1¦ 15982¦ 1398950¦
ТУРНЕПС
¦1996¦ 57.1¦ 0.0¦ 0.0¦ 0.0¦ 57.1¦ 15982¦ 1398950¦
КАПУСТА
¦1994¦ 0.0¦ 80.0¦ 0.0¦ 0.0¦ 80.0¦ 25430¦ 1200000¦
КАПУСТА
¦1995¦ 0.0¦ 80.0¦ 0.0¦ 0.0¦ 80.0¦ 25430¦ 1200000¦
КАПУСТА
¦1996¦ 0.0¦ 80.0¦ 0.0¦ 0.0¦ 80.0¦ 25430¦ 1200000¦
МОРКОВЬ
¦1994¦ 46.7¦ 0.0¦ 0.0¦ 0.0¦ 46.7¦ 18207¦ 700500¦
МОРКОВЬ
¦1995¦ 46.7¦ 0.0¦ 0.0¦ 0.0¦ 46.7¦ 18207¦ 700500¦
МОРКОВЬ
¦1996¦ 46.7¦ 0.0¦ 0.0¦ 0.0¦ 46.7¦ 18207¦ 700500¦
СВЕКЛА
¦1994¦ 0.0¦ 53.8¦ 0.0¦ 0.0¦ 53.8¦ 21944¦ 629460¦
СВЕКЛА
¦1995¦ 0.0¦ 53.8¦ 0.0¦ 0.0¦ 53.8¦ 21944¦ 629460¦
СВЕКЛА
¦1996¦ 0.0¦ 53.8¦ 0.0¦ 0.0¦ 53.8¦ 21944¦ 629460¦
ИТОГО ИСП. ¦1994¦ 898.3¦ 946.1¦ 498.0¦ 0.0¦ 2342.4¦581341¦ 8210995¦
ИТОГО ОСТАЛ. ¦1994¦ 0.0¦ 0.1¦ 361.0¦ 400.0¦ 0.0¦
0¦
0¦
ИТОГО ИСП. ¦1995¦ 898.3¦ 946.2¦ 509.2¦ 0.0¦ 2353.7¦584281¦8220881¦
ИТОГО ОСТАЛ. ¦1995¦ 0.0¦ 0.0¦ 349.8¦ 400.0¦ 0.0¦
0¦
0¦
ИТОГО ИСП. ¦1996¦ 898.3¦ 946.2¦ 502.4¦ 0.0¦2346.9¦ 582498¦8215074¦
ИТОГО ОСТАЛ. ¦1996¦ 0.0¦ 0.0¦ 356.6¦ 400.0¦ 0.0¦
0¦
0¦
***
ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ
Наименование показателя
***
¦ 1994 ¦ 1995 ¦ 1996 ¦
ТОВАРНАЯ ПРОДУКЦИЯ РАСТЕНИЕВОДСТВА ¦ 5423437¦ 5382811¦ 5411846¦
ДОХОД РАСТЕНИЕВОДСТВА
¦ 8212138¦ 8221938¦ 8216042¦
ЗАТРАТЫ РАСТЕНИЕВОДСТВА
¦ 581376¦ 584294¦ 582495¦
ПРИБЫЛЬ/УБЫТКИ РАСТЕНИЕВОДСТВА
¦ 7630762¦ 7637644¦ 7633547¦
ДОХОД ЖИВОТНОВОДСТВА
¦ 4800544¦ 4802211¦ 4803813¦
ЗАТРАТЫ ЖИВОТНОВОДСТВА
¦ 5203363¦ 5203363¦ 5204584¦
ПРИБЫЛЬ/УБЫТКИ ЖИВОТНОВОДСТВА
¦ -402819¦ -401152¦ -400771¦
ДОХОД ЗВЕРОВОДСТВА
¦ 343050¦ 343050¦ 343057¦
ЗАТРАТЫ ЗВЕРОВОДСТВА
¦ 318469¦ 318469¦ 318533¦
ПРИБЫЛЬ/УБЫТКИ ЗВЕРОВОДСТВА
¦ 24581¦ 24581¦ 24524¦
ДОХОД СВИНОВОДСТВА
ЗАТРАТЫ СВИНОВОДСТВА
ПРИБЫЛЬ/УБЫТКИ СВИНОВОДСТВА
ИТОГО ДОХОД
ИТОГО ЗАТРАТЫ
ИТОГО ПРИБЫЛЬ
***
¦ 751504¦ 1114225¦ 954161¦
¦ 653977¦ 22895¦ 717947¦
¦ 97527¦ 291330¦ 236214¦
¦ 14107236¦14481424¦ 14317073¦
¦ 6757185¦ 6929021¦ 6823559¦
¦ 7350051¦ 7552403¦ 7493514¦
ПРОИЗВОДСТВО ПРОДУКЦИИ РАСТ-ТВА
Наименование
¦ Кол-во 1994 ¦ Кол-во 1995
TРАВА
¦
2924 ¦
2934 ¦
СИЛОС
¦
2208 ¦
2230 ¦
СЕНАЖ
¦
1109 ¦
1112 ¦
СЕНО
¦
2174 ¦
2179 ¦
ТРАВЯНАЯ МУКА ¦
556 ¦
562 ¦
КАРТОФЕЛЬ
¦
3000 ¦
3000 ¦
ТУРНЕПС
¦
2000 ¦
2000 ¦
КАПУСТА
¦
2000 ¦
2000 ¦
МОРКОВЬ
¦
700 ¦
700 ¦
СВЕКЛА
¦
700 ¦
700 ¦
***
¦ Кол-во 1996
2927
2218
1110
2176
558
3000
2000
2000
700
700
СУБПРОДУКТЫ СОБСТВЕННОГО ПРО-ВА
Наименование ¦ Кол-во 1994 ¦ Кол-во 1995 ¦ Кол-во 1996
остаток или дефицит ¦ 24.300 ¦ 24.340 ¦ 24.338
произведено субпрод. ¦ 40.800 ¦ 40.840 ¦ 40.841
***
ЗАТРАТЫ НА СОДЕРЖАНИЕ НОРОК
Наименование
***
***
¦Стоимость¦Стоимость¦ Затраты ¦ Прибыль ¦
¦ кормов ¦ ухода ¦ содерж. ¦на голову¦
ПЛЕМ.НОРКИ ¦ 90.600 ¦ 64.970 ¦ 155.570 ¦ 44.430 ¦
НОРКИ САМЦ ¦ 93.100 ¦ 64.970 ¦ 158.070 ¦ 51.930 ¦
НОРКИ ПОДР ¦ 59.500 ¦ 44.980 ¦ 104.480 ¦ 85.520 ¦
***
1/--страниц
Пожаловаться на содержимое документа