Автор работы: Пользователь скрыл имя, 08 Июня 2015 в 16:20, курсовая работа
Для успешного развития животноводства важное значение имеет организация кормовой базы, поскольку от этого во многом зависят здоровье и продуктивность животных, себестоимость производимой продукции. Определение состава оптимальных кормовых смесей, рационов – одна из первых экономических задач, к решению которой были применены методы нелинейного программирования. Первая попытка составления набора продуктов, который был бы самым дешевым и содержал бы необходимое количество питательных веществ была сделана Дж. Стиглером в 1945 г. В 50-е годы задача оптимизации кормовых рационов получает распространение [6].
Введение 2
2 РАСЧЕТ РЕЦЕПТОВ КОРМЛЕНИЯ СВИНЕЙ СРЕДСТВАМИ MS EXCEL 21
2.1 Обоснование работы 21
2.2 Выполнение работы 22
2.2.1 Создание первоначальной базы кормов и норм кормления животных, среды расчета рациона 22
2.2.2 Автоматизация процесса выбора группы животных, для которых будет составляться рецепт 24
2.2.3 Автоматизация процесса определения структуры рациона 25
2.2.4 Отладка оптимизации рецепта 29
2.2.5 Анализ рассчитываемых рецептов 31
Заключение 33
Список использованных источников 34
Рисунок 5. Окно расчета рецепта программы Комбикорм Оптимум v.5
В справочнике сырья (рис. 6) находится все сырье, которое может быть использовано при составлении рациона. Оно классифицировано по группам. Также в базе имеется информация о питательности каждого кормового элемента. Программа позволяет добавить, удалить либо скорректировать любой элемент базы, используя соответственно команды , и .
Рисунок 6. Окно справочника сырья
В справочнике нормативов (рис. 7) находится перечень норм кормления для различных половозрастных групп животных. Все данные справочника также можно корректировать, в случае необходимости.
Рисунок 7. Окно нормативов
В программе также есть возможность запрограммировать способ расчета цены 1 тонны продукции с учетом всех затрат и платежей (рис. 8.).
Рисунок 8. Окно расчета цены
1.3 Программа «Корм Оптима» компании «АгроРесурс»
Программа «Корм Оптима» также является клиент-серверным приложением на основе СУБД Firebird. Программа позволяет рассчитывать рецепты комбикормов, БВМД, премиксов для всех половозрастных групп сельскохозяйственных животных, а также рационы кормления крупного рогатого скота.
Окно расчета рецепта показано на рисунке 9. Интерфейс программы интуитивно понятен, для облегчения восприятия информации при расчете рецепта структура рациона выделяется различными цветами, в зависимости от требований к рациону.
Рисунок 9. Окно расчета рецепта
В окне расчета рецептов можно выполнить следующие операции:
- рассчитать оптимальный рецепт комбикорма или БМВД;
- добавить или удалить сырье из рецепта;
- корректировать цену сырья и ограничения по вводу в рецепт;
- добавить, удалить требования к питательности комбикорма;
- исправить показатели
- задавать алгоритм отпускной цены
- выделять часть сырья из
рассчитанного рецепта в
- получать адресные концентраты заданного процента ввода;
- анализировать минимальную и
максимальную цены
Для начала расчета рецепта в классификаторе продукции определяется вид рассчитываемого продукта. Удачным решением разработчиков было выделение разными цветами разной продукции, что облегчает поиск в большом списке (рис. 10).
Рисунок 10. Классификатор продукции
Определение структуры рациона производится в окне расчета рецепта. Удобно осуществляется быстрый поиск необходимого компонента с помощью команды . Поиск осуществляется без учета регистра и в любом месте названия кормов, что облегчает поиск компонента, в случае если не помнишь точное его название.
Базу кормов можно редактировать в классификаторе сырья (рис. 11.). Можно добавлять/удалять кормовые компоненты, редактировать содержание питательных веществ в каждом из них.
Рисунок 11. Классификатор сырья
Для расчета рецепта используют команду «оптимизация» . В случае если сырье не удовлетворяет потребность животных, есть возможность поиска лимитирующего показателя при помощи соответствующей команды .
После того как лимитирующий показатель найден, можно изучить содержание данного элемента в различных кормовых источниках при помощи структуры питательности рецепта, (рис. 12). Данный график наглядно иллюстрирует содержание какого питательного элемента рациона необходимо увеличить, чтобы достичь сбалансированности смеси.
Рисунок 12. Содержание питательных элементов в различных кормовых компонентах.
После расчета рецепта в данном приложении имеется возможность проанализировать сбалансированность рецепта, используя соответствующий график (рис. 13). Чем меньше отклонение величин от единицы, тем рацион ближе к необходимой питательности.
Рисунок 13. График сбалансированности рецепта
Для оформления отчета с рассчитанным рецептом в приложении есть окно с множеством настроек (рис. 14). Здесь автоматически сформированному отчету можно придать любой вид путем редактирования. Имеется возможность работы со шрифтами, изображениями и их настройкой. Это очень удобно для добавления эмблемы и информации о предприятии.
Рисунок 14. Подготовка отчета к печати.
Отредактированный отчет можно экспортировать в документ Word, Excel, рисунок BMP, JPEG, TIFF.
Приложение имеет развернутую справочную систему. Особенностью данной системы является наличие двух блоков под названием «Компоненты комбикормов» и «Компоненты премиксов», которые имеют в своем составе справочную информацию по всем питательным компонентам комбикормов и добавок. Данные блоки являются незаменимыми помощниками специалиста при составлении рецепта кормления, они систематизированы по видам кормовых компонентов, удобны в использовании (рис. 15).
Рисунок 15. Справка «Компоненты комбикормов»
Приложение имеет возможность подключать дополнительные модули, что дает существенный потенциал для дальнейшего развития и разработки данного проекта.
1.4 Сравнительная характеристика программ
Программы «Корм Оптима» компании «АгроРесурс» и «Комбикорм Оптимум» компании «ВНИИКП» имеют схожий графический интерфейс и очень близки по функциональности. Также нужно отметить, что оба продукта были разработаны программистами г. Воронеж.
Продукт разработчиков г. Самара «Рецепт Плюс» уступает воронежским аналогам по ряду функций:
- у нее, субъективно менее
- поиск компонентов баз
- отсутствует гибкая подготовка отчета к печати.
В свою очередь приложение «Корм Оптима» превосходит «Комбикорм Оптимум» по следующим пунктам:
- наличие возможности анализа сбалансированности рецепта при помощи графиков;
- в окне расчета рецептов
более простой и понятный
- большее количество
- возможность планирования
- наличие в составе справочной
системы специальной
Большим преимуществом всех трех программ является наличие хорошего оптимизатора, который существенно облегчает подбор оптимальных соотношений компонентов рациона.
Во всех программах хорошо структурированы базы кормов и норм кормления животных.
2 РАСЧЕТ РЕЦЕПТОВ КОРМЛЕНИЯ СВИНЕЙ СРЕДСТВАМИ MS EXCEL
2.1 Обоснование работы
В связи с дороговизной программных продуктов, описанных в аналитической части (рыночная стоимость одной копии программы данного класса варьирует в пределах от 800 до 2000 у.е.), есть смысл поиска более дешевых и доступных способов расчета рационов кормления сельскохозяйственных животных. Существенным недостатком специализированных программ является невозможность в случае необходимости быстрого совершенствования приложения, что снижает гибкость среды.
В связи с этим стоит проанализировать возможность самостоятельного составления программного продукта удовлетворяющего потребности специалиста. Широкие возможности, в этой сфере предоставляют электронные таблицы MS EXCEL.
Электронная таблица Microsoft Excel и других модификаций является мощным программным средством для работы с таблицами, позволяющим упорядочивать, анализировать и графически представлять различные виды данных.
В племенном и промышленном животноводстве как правило, существующие показатели можно представить в виде различных таблиц и списков. Поэтому MS Excel является очень удобным средством для использования в деятельности специалистов – зооинженеров.[15]
Используя данный продукт можно создать программу для расчета рецептов с возможностью дальнейшего совершенствования и развития данного продукта в соответствии с возникающими необходимостью. Гибкость данной среды позволяет совершать индивидуальные настройки каждому пользователю в зависимости от цели работы и поставленных задач.
Применение языка программирования Visual Basic for Applications в сочетании с электронными таблицами дает широкие возможности не только для составления и оптимизации рецепта, но и для анализа полученных результатов, составления отчетов, планирования расхода сырья.
2.2 Выполнение работы
Целью данной работы является создание программы для расчета рецептов кормления свиней средствами MS EXCEL.
При выполнении работы были поставлены следующие задачи:
2.2.1 Создание первоначальной базы кормов и норм кормления животных, среды расчета рациона
А) На листе «Корма» создаем базу в форме таблицы. В строках располагается список доступных кормовых средств. Столбцами данной базы, являются показатели, которые будут оптимизироваться при расчете рецепта, также слева располагается столбец выбора корма в который содержит значения либо 0 либо 1 (рис. 17). После создания заполняем таблицу данными из справочника. Эти данные будут исходными при создании структуры рациона.
Рисунок 17. Лист «Корма» с базой кормов
Б) На листе «Нормы» создаем базу норм питательности для животных различных половозрастных групп. В строках располагается список половозрастных групп животных, а в столбцах значение потребности животных в данном питательном факторе (рис. 18). После создания заполняем таблицу данными из справочника. Эти данные являются исходными для оптимизации рациона.
Рисунок 18. Лист «Нормы» с базой норм
В) На листе «Расчет» создаем две области:
- область структуры рациона, включающая список кормов;
- область питательности рациона,
которая отображает сумму
Рисунок 19. Лист «Расчет»
На всех трех листах для удобства работы при поиске необходимого элемента, закрепим шапку таблиц командой «Закрепить область».
2.2.2 Автоматизация процесса выбора группы животных, для которых будет составляться рецепт
Для расчета рациона на листе «Нормы» необходимо определить половозрастную группу животных, для которых будет составляться рацион, для этого в столбце «Да/нет» напротив соответствующей группы необходимо поставить цифру 1, также нужно проследить, чтобы напротив остальных групп стояла цифра 0.
Далее в среде Visual Basic for Applications напишем макрос переноса данных из листа «Нормы» в лист «Расчет», назовем его Norm, листинг 1.
Листинг 1.
Sub norm()
'проверяем есть ли выбранная группа
For ii = 3 To 250
If Sheets("Нормы").Cells(ii, 2) = 1 Then
Else
nul1 = nul1 + 1
End If
Next ii
' если группа определена запускаем цикл
Dim wword As String
wword = "НОРМА"
If nul1 = 248 Then
MsgBox "Выберите группу"
nul1 = 0
Else
For it = 5 To 500
If Sheets("Расчет").Cells(it, 4) = wword Then
numb = it + 1
For ik = numb To 1000
Sheets("Расчет").Range("D" & numb & ":D250").ClearContents
Next ik
End If
Next it
For i = 3 To 250
If Sheets("Нормы").Cells(i, 2) = 1 Then
For k = 4 To 60
a = Sheets("Нормы").Cells(i, k)
Sheets("Расчет").Cells(numb + k - 4, 4) = a
Next k
Else
End If
Next i
Sheets("Расчет").Select
End If
End Sub
На листе «Нормы» вставляем элемент управления «Кнопка» , и назначаем ему макрос «norm».
Также напишем макрос, автоматического изменения цвета цифр столбца «Да/нет», в зависимости от значения и устранение возможности введения какого либо другого значения кроме 1 или 0 листинг 2, назовем его Check. Данный макрос вызывается при изменениях на рабочем листе, листинг 3.
Листинг 2. Макрос Check
Public Sub check()
'изменение цевета в
For i = 3 To 1000
If Range("B" & i) = 0 Then
With Range("B" & i).Font
color = -16776961
End With
Else
If Range("B" & i) = 1 Then
With Range("B" & i).Font
color = -11480942
End With
Else
' предупреждение о допустимых значениях
MsgBox "Может быть 0-нет или 1- да"
Range("B" & i) = 0
End If
End If
Next i
End Sub
Листинг 3. Вызов макроса Check
Private Sub Worksheet_Change(ByVal Target As Range)
Call check
End Sub
В случае если необходимо добавить питательный элемент по которому будет производиться балансирование рецепта, его нужно добавить в конце первой строки на листе «Корма». На остальные листы данный питательный элемент и единицы его измерения перенесутся автоматически, поскольку на данные ячейки существуют ссылки в других листах.
2.2.3 Автоматизация процесса определения структуры рациона
Для продолжения расчета на листе «Корма» необходимо определить кормовые компоненты, которые будут входить в состав рациона. По аналогии с предыдущими действиями определяются корма. Столбцу «Да/нет» также назначаем макрос Check.
Далее пишем макрос переноса выбранных кормовых средств с листа «Корма» в лист «Расчет». Данный макрос также будет выполнять скрытие не используемых ячеек на расчетном листе и перенос в расчеты значений по умолчанию, а также ввод расчетных формул, листинг 4. Данный макрос назовем Feed.
Информация о работе Применение программ оптимизации рецептов кормления свиней