Buscar

Balanceamento de Dieta para Bovinos Leiteiros

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 96 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 96 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 96 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

78
77
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO SUL DE MINAS GERAIS 
CAMPUS MUZAMBINHO
Curso de Ciência da Computação
FIAMA FILOMENA SITTON DO AMARAL
SISTEMA WEB PARA BALANCEAMENTO DE DIETAS DE BOVINOS LEITEIROS UTILIZANDO PROGRAMAÇÃO LINEAR
Muzambinho
2016
FIAMA FILOMENA SITTON DO AMARAL
SISTEMA WEB PARA BALANCEAMENTO DE DIETAS DE BOVINOS LEITEIROS UTILIZANDO PROGRAMAÇÃO LINEAR
Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação, do Instituto Federal de Educação Ciência e Tecnologia do Sul de Minas Gerais - Campus Muzambinho, como requisito parcial à obtenção do título de Bacharel em Ciência da Computação.
Orientador (a): Prof. (a) Aline Marques Del Valle
Coorientador (a): Prof. (a): Tiago Antônio Del Valle
Muzambinho
2016
COMISSÃO EXAMINADORA
____________________________________
Aline Marques Del Valle
____________________________________
Tiago Antônio Del Valle
____________________________________
Tiago Gonçalves Botelho
____________________________________
Francisco Helton Sá de Lima
Muzambinho, 19 de Fevereiro de 2016.
DEDICATÓRIA
Dedico este trabalho aos meus pais, Vivaldo do Amaral e Roseli Magri Sitton do Amaral, que sempre estiveram ao meu lado, me apoiando e orientando.
AGRADECIMENTOS
	A orientadora Aline Marques Del Valle e ao coorientador Tiago Antônio Del Valle, pelo tempo despendido para ajudar-me na elaboração deste trabalho e pelos conhecimentos cedidos, sem os quais este trabalho não seria finalizado.
	Ao Instituto Federal de Educação, Ciência e Tecnologia - Campus Muzambinho e a todos os professores que tive contato durante a minha graduação.
	Aos professores do curso de Medicina Veterinária do Instituto Federal de Educação, Ciência e Tecnologia - Campus Muzambinho e também, aos alunos e professores do curso de Medicina Veterinária da Universidade de São Paulo – Campus Pirassununga por terem participado da avaliação do software. 
	Aos amigos de sala pela amizade, companhia e ajuda nestes quatro anos de graduação.
	A Deus, por me ensinar a ter fé, sempre, e a não desistir do meu objetivo, apesar de todos os obstáculos enfrentados nesta caminhada.
 “Viver é acalentar sonhos e esperanças, fazendo da fé a nossa inspiração maior”.
Mário Quintana
AMARAL, Fiama Filomena Sitton do. Sistema Web para Balanceamento de Dietas de Bovinos Leiteiros Utilizando Programação Linear. 2016. 88 f. Trabalho de Conclusão de Curso (Curso Ciência da Computação) – Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais – Campus Muzambinho, Muzambinho, 2016.
RESUMO
	O problema do balanceamento de dietas para bovinos leiteiros é tratado com um clássico problema da área de otimização e tomadas de decisão que pode ser resolvido através da técnica de Programação Linear conhecida como Simplex, desde que as variáveis em questão apresentem linearidade entre si. A produção de leite é uma atividade que representa significativa proporção nos custos de produção, pois, no manejo do gado leiteiro, uma das atividades mais importantes é a alimentação do rebanho, que pode representar até 70% dos custos operacionais totais. Por esta razão, torna-se necessário à otimização financeira deste sistema de produção envolvendo a minimização dos custos de alimentação com maximização do desempenho animal. Para facilitar, nesta atividade são construídos métodos computacionais que ajudam na elaboração de dietas com custo mínimo para o produtor e que atendam às necessidades nutricionais dos animais, e, por conseguinte, os consumidores tenham um produto de qualidade. O presente trabalho tem como objetivo principal resolver este problema aplicando técnicas computacionais e recursos da Programação Linear. Para tanto foi construído o sistema web Balanced Diet, utilizando a linguagem de programação PHP integrado com um banco de dados MySQL que se utiliza da técnica matemática conhecida como Simplex para a solução das dietas. Foi elaborada uma interface de comunicação amigável com o usuário onde é possível a visualização das dietas formuladas individualmente para cada animal, além de haver a possibilidade de geração de relatórios sobre as dietas. Esta ferramenta foi avaliada quanto a usabilidade por meio das dez heurísticas de Nielsen, obtendo o melhor resultado na heurística “Relação entre o Sistema e o Mundo Real” e o pior resultado na heurística “Ajuda ao Reconhecimento, Diagnóstico e Correção de Erros”. A ferramenta também foi validada pelo software Dairy NRC, podendo-se observar variações de quantidade em: Consumo de Matéria Seca, Balanço de Proteína Degradável no Rúmen, Balanço de Proteína Metabolizável e Balanço de Energia Líquida.
Palavras-chave: simplex, software computacional, usabilidade.
AMARAL, Fiama Filomena Sitton do. Sistema Web para Balanceamento de Dietas de Bovinos Leiteiros Utilizando Programação Linear. 2016. 88 f. Trabalho de Conclusão de Curso (Curso Ciência da Computação) – Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais – Campus Muzambinho, Muzambinho, 2016.
ABSTRACT
	The problem of balancing diets for dairy cattle is treated with a classic problem area of ​​optimization and decision-making that can be solved by linear programming technique known as Simplex, since the variables in question show linearity each other. Milk production is an activity that represents a significant proportion of production costs, for the management of dairy cattle, one of the most important activities is the feeding of the herd, which can represent up to 70% of total operating costs. For this reason, it is necessary for the financial optimization of this production system involving minimizing feed costs by maximizing animal performance. To facilitate this activity are built computational methods that help in the preparation of diets with minimal cost to the producer and to meet the nutritional needs of animals, and therefore consumers have a quality product. This work aims to solve this problem by applying computational techniques and resources of Linear Programming. For this was built web system Balanced Diet, using the integrated programming language PHP with a MySQL database that uses the mathematical technique known as Simplex for the solution of diets. friendly communication interface with the user where it is possible to visualize the diets formulated individually for each animal was prepared, plus there is the possibility of reporting on diets. This tool was evaluated for usability by the ten heuristics Nielsen, getting the best result on the heuristic "Relationship between the System and the Real World" and the worst result in heuristic "Help Recognition, Diagnosis and Correction of Errors." The tool has also been validated by the software Dairy NRC, can be observed amount of variations: dry matter consumption, Degradable Protein Balance at Rumen, Metabolizable Protein Balance and Net Energy Balance.
Keywords: simplex, computer software, usability.
LISTA DE FIGURAS
Figura 1 - Diagrama de Caso de Uso	44
Figura 2 - Diagrama de Classe	45
Figura 3 - Diagrama Entidade Relacionamento	46
Figura 4 - Tela de Acesso Negado	49
Figura 5 - Tela de Login	50
Figura 6 - Tela de Cadastro de Usuário	50
Figura 7 - Página Inicial do Sistema	51
Figura 8 – Tela de Cadastro de Animal	51
Figura 9 - Tela Listar Meus Animais	52
Figura 10 - Tela do menu Enviar Alimentos	52
Figura 11 - Tela do menu Lista de Alimentos	53
Figura 12 - Calcular Dieta primeira Etapa	54
Figura 13 – Calcular Dieta segunda Etapa	54
Figura 14 - Calcular Dieta Resultado	55
Figura 15 - Avaliação Econômica de Ingredientes primeira Etapa	56
Figura 16 - Avaliação Econômica de Ingredientes segunda Etapa	56
Figura 17 - Avaliação Econômica de Ingredientes Resultado	57
Figura 18 - Gráfico da Avaliação Econômica de Ingredientes	57
Figura 19 - Tela do menu Ajuda	58
Figura 20 - Tela do menu Fale Conosco	58
Figura21 - Tela do menu Informações	59
Figura 22 - Gráfico da média do número de votos por heurística	64
LISTA DE TABELAS
Tabela 1 - Dados para o problema da dieta	36
Tabela 2 - Relação de Requisitos Funcionais do Sistema	43
Tabela 3 - Relação de Requisitos Não Funcionais do Sistema	43
Tabela 4 - Dados dos animais utilizados nas simulações	59
Tabela 5 - Composição das dietas formuladas utilizando diferentes volumosos	60
Tabela 6 - Comparação dos resultados entre os softwares Dairy NRC e Balanced Diet	61
Tabela 7 - Erro das estimativas do consumo de matéria seca e dos balanços de PDR, PM e EL	62
Tabela 8 - Quadro de cálculos	72
Tabela 9 - Identificação da variável com maior valor negativo na função objetivo (primeira iteração)	72
Tabela 10 - Identificação da coluna, linha e elemento pivô da primeira iteração	73
Tabela 11 - Quadro de Cálculos após a primeira iteração	74
Tabela 12 - Identificação da variável com maior valor negativo na função objetivo (segunda iteração)	74
Tabela 13 - Identificação da coluna, linha e elemento pivô da segunda iteração	75
Tabela 14 - Quadro de Cálculos após a segunda iteração	75
LISTA DE ABREVIATURAS
	CNF
	Carboidratos Não Fibrosos
	ED
	Energia Digestível
	EE
	Extrato Etéreo
	EL
	Energia Líquida
	EM
	Energia Metabolizável
	f(A)
	Fração A
	f(B)
	Fração B
	f(C)
	Fração C
	FCM
	Fat Correct Milk
	FDN
	Fibra em Detergente Neutro
	FDNN
	Fibra em Detergente Neutro sem Nitrogênio
	HTML
	HyperText Markup Language
	IBGE
	Instituto Brasileiro de Geografia e Estatística
	IDE
	Integrated Development Environment
	Kd
	Constante de Digestão
	Kp
	Taxa de Passagem
	LIG
	Lignina
	MM
	Mistura Mineral
	MN
	Matéria Natural
	MS
	Matéria Seca
	NDT
	Nutrientes Digestíveis Totais
	NLP
	Nova Linha Pivô	
	NRC
	National Research Concil
	PB
	Proteína Bruta
	PDR
	Proteína Degradável no Rúmen
	PHP
	Hypertext Preprocessor
	PIDA
	Proteína Insolúvel em Detergente Ácido
	PIDN
	Proteína Insolúvel em Detergente Neutro
	PM
	Proteína Metabolizável
	PNDR
	Proteína Não Degradável no Rúmen 
	PO
	Pesquisa Operacional
	PPFR
	Programa Prático de Formulação de Ração
	PL
	Programação Linear
	SGBD
	Sistema Gerenciador de Banco de Dados
	SPM
	Síntese de Proteína Microbiana
	UML
	Unified Modellig Language
	Unesp
	Universidade Estadual Paulista
SUMÁRIO
1. INTRODUÇÃO	25
1.1. Contextualização e Motivação	25
1.2. Justificativa	26
1.3. Objetivos	27
1.3.1. Objetivo Geral	27
1.3.2. Objetivos Específicos	28
1.4. Estrutura ou Organização do Trabalho	28
2. Revisão de Literatura	29
2.1. Conceitos Básicos de Nutrição Animal	29
2.1.1. Nutrição	29
2.1.2. Nutrientes	29
2.1.3. Alimentos	29
2.1.4. Classificação dos Alimentos	30
2.1.6. Dieta X Ração	32
2.1.7. Exigências nutricionais de vacas leiteiras	32
2.1.8. Formulação de dietas	32
2.2. Pesquisa Operacional	33
2.2.1. Programação Linear	34
2.2.2. Método Simplex	37
3. METODOLOGIA	41
3.1. Tipo de Pesquisa	41
3.2. Material e Métodos	41
3.2.1. Estudo do Problema	41
3.2.1.1. Formulação do Problema	41
3.2.1.2. Fatores de correção	42
3.2.2. Desenvolvimento do sistema	42
3.2.2.1. Levantamento de Requisitos	42
3.2.2.2. Modelagem	43
3.2.2.3. Implementação	46
3.2.2.4. Testes e Validação	47
3.2.2.4.1. Avaliação	47
4. Resultados e Discussão	49
4.1. Visão Geral do Sistema	49
4.1.1. Acesso ao Sistema	49
4.1.2. Menu Animal	51
4.1.3. Menu Alimentos	52
4.1.4. Menu Calcular Dieta	53
4.1.6. Menu Ajuda	57
4.1.7. Menu Fale Conosco	58
4.1.8. Menu Info (Informações)	59
4.2. Validação do Sistema	59
4.3. Avaliação do Sistema	62
5. Considerações Finais	65
5.1. Respondendo aos objetivos e contribuições do trabalho	65
5.2. Propostas de Trabalhos Futuros	65
ANEXOS	71
Anexo A	72
Anexo B	77
Anexo C	85
1. INTRODUÇÃO
1.1. Contextualização e Motivação
A nutrição é importante para a produção de qualquer espécie animal. Na bovinocultura leiteira não é diferente. Segundo Carvalho et al. (2002), o animal utiliza os nutrientes consumidos para mantença e desempenhar suas atividades produtivas, sejam estas, de crescimento, reprodução e/ou produção de leite. Uma alimentação adequada é de fundamental importância do ponto de vista nutricional e econômico, visto que, em um sistema de produção de leite a alimentação do rebanho pode representar, aproximadamente, 70% dos custos operacionais totais. 
A produção de leite no Brasil é uma das principais atividades agropecuárias do país. Em 2014, foram discutidas as perspectivas da cadeia produtiva do leite no Brasil e no mundo. A expectativa era de que o país assumisse a terceira colocação em produção mundial de leite naquele ano (ASSOCIAÇÃO BRASILEIRA DOS PRODUTORES DE GIROLANDO, 2014). Segundo dados do Instituto Brasileiro de Geografia e Estatística (IBGE, 2014), até setembro de 2014 a produção de leite brasileira já era de 36 bilhões de litros, ultrapassando as projeções feitas pelo órgão para a produção de leite no ano em questão. 
Vilela (2011) indica que o Brasil é o primeiro em crescimento na quantidade de vacas por fazenda, com 5,3% por ano. Em produção, por vaca, é o quarto com maior crescimento indicando que a tecnologia de produção vem evoluindo rapidamente, sobretudo na questão da genética, nutrição e manejo. Mesmo assim, pode-se concluir que o rebanho é muito grande e a produtividade ainda é, invariavelmente, baixa, o que pode ser atribuído à genética dos animais utilizados e especialmente a condição nutricional dos rebanhos. Logo, é necessário um planejamento adequado do manejo nutricional do rebanho evitando gastos desnecessários e favorecendo os lucros com a atividade. 
O planejamento alimentar, no entanto, depende de conhecimentos sobre o potencial nutricional dos alimentos disponíveis para a alimentação do rebanho, das exigências nutricionais da categoria animal e de conhecimentos básicos para formulação de dietas (SALMAN et.al., 2011, p.07). 
Pela necessidade de atender as exigências nutricionais de animais de grande desempenho produtivo, faz-se necessário o balanceamento da dieta para os bovinos. De acordo com o National Research Concil – NRC (2001), o animal consome para atender suas exigências e, neste sentido, formular dietas de custo mínimo, pode maximizar os lucros na atividade sem comprometer a produção e a qualidade do produto final. Para atingir esse objetivo são buscadas vias práticas de otimização. As decisões são tomadas a partir da aplicação dos conceitos de otimização, considerando no problema, as exigências nutricionais previamente estabelecidas e os dados de composição dos alimentos com a aplicação dos devidos fatores de correção como indicado no NRC (2001). 
O processo de tomadas de decisão é baseado nos conceitos de Pesquisa Operacional (PO), que, segundo Arenales et al. (2007), consiste no desenvolvimento de métodos científicos de sistemas complexos com a finalidade de prever e comparar estratégias ou decisões alternativas. Também pode ser definida como abordagem científica para tomada de decisões que procura determinar como melhor projetar e operar um sistema sob condições que requerem alocação de recursos escassos. 
Dentro da PO há uma técnica de solução chamada Programação Linear (PL) que resolve problemas de alocação de recursos que “dizem respeito à atribuição e distribuição de recursos entre as diversas tarefas ou atividades que devem ser realizadas” (ANDRADE, 2011, p.26). 
Problemas de alocação de recursos têm como características:
· Existência de um objetivo que possa ser explicitado em termos das variáveis de decisão do problema;
· Existência de restrições à aplicação dos recursos, tanto com relação às quantidades disponíveis e tanto com relação à maneira de empregá-los; 
· O fato de que o problema poder ser representado por um modelo de otimização (maximização ou minimização) no qual todas as relações matemáticas são lineares. 
	Tais características são comuns ao problema de formulação da dieta de bovinos leiteiros. “Uma aplicação bem sucedida de programação linear diz respeito à formulação de dietas e, em particular, à formulação de dietas de custo mínimo” (CAIXETA-FILHO, 2011,p.58). 
1.2. Justificativa
O avanço da PO deve-se, em grande parte, ao desenvolvimento dos computadores devido à sua velocidade de processamento e à sua capacidade de armazenamento e recuperação de informações. O problema aqui retratado pode ser resolvido de forma manual ou com a ajuda de programas computacionais. São diversos os programas de computador que oferecem auxílio para a formulação de dietas. São muitas as planilhas eletrônicas desenvolvidas, levando em consideração, os requerimentos nutricionais publicados pelo National Research Council (NRC) no guia Nutrient Requirements of Dairy Cattle[footnoteRef:1]. O Programa Prático de Formulação de Ração (PPFR)[footnoteRef:2], desenvolvido pelo Dr. Manoel Garcia Neto pelo Departamento de Apoio, Produção e Saúde Animal do Curso de Medicina Veterinária da Universidade Estadual Paulista (Unesp) - Campus Araçatuba, trata-se de várias planilhas eletrônicas para formular dietas, não só para bovinos leiteiros, mas também para outras categorias de animais. [1: Disponível em: http://www.nap.edu/catalog/9825.html] [2: Disponível em: https://sites.google.com/site/ppfrparaexcel2007ousuperior/home] 
Tratando-se de softwares, alguns exemplos são: Spartan Dairy Ration Evaluator/Balancer 3.0[footnoteRef:3], PCDAIRY[footnoteRef:4], RLM Leite[footnoteRef:5], Super Crac Bovinos[footnoteRef:6] e Optimal WinDiet[footnoteRef:7], porém, todos são pagos. Os softwares citados acima calculam dietas de custo mínimo sem levar em consideração as características dos animais para estabelecer a composição dos alimentos. O NRC possui um software que valida dietas, o Dairy Cattle Default Simulation Data File NRC[footnoteRef:8], ou seja, leva em consideração as características dos animais, mas não calcula a dieta (NATIONAL RESEARCH CONCIL - NRC, 2001). [3: Disponível em: http://spartandairy.msu.edu/] [4: Disponível em: http://animalscience.ucdavis.edu/extension/Software/PcDairy/USA/index.htm] [5: Disponível em: http://www.integrasoftware.com.br/rlm31/rlm_leite.php] [6: Disponível em: http://www.cptsoftwares.com.br/gestao-agropecuaria/super-crac-bovinos-de-leite-software-para-calculo-de-racao-de-custo-minimo-para-gado-de-leite] [7: Disponível em: http://www.optimal.com.br/windiet/] [8: Disponível em: http://www.nap.edu/catalog/dairymodel/index.html] 
A motivação deste trabalho surgiu ao se verificar que existem várias aplicações (softwares) que calculam dietas para bovinos leiteiros, mas nenhum software considera a composição dos alimentos em função das características dos animais (NATIONAL RESEARCH CONCIL - NRC, 2001). Sendo assim, neste estudo pretende-se desenvolver uma ferramenta para cálculo de dietas na forma de um Sistema Web, utilizando Programação Linear. 
1.3. Objetivos
1.3.1. Objetivo Geral
Desenvolver um Sistema Web para Balanceamento de Dieta para Bovinos Leiteiros, utilizando programação linear, a fim de obter uma dieta de custo mínimo que atenda às exigências nutricionais através de dados específicos de cada indivíduo.
1.3.2. Objetivos Específicos
· Identificar as exigências nutricionais de cada animal para que a dieta seja específica; 
· Levantar as restrições a serem consideradas no cálculo das dietas;
· Propor um programa linear para o problema estudado que minimize o custo da dieta; 
· Implementar a solução proposta desenvolvendo um sistema para balanceamento de dieta para bovinos leiteiros; 
· Desenvolver um sistema open source; 
· Desenvolver o sistema em plataforma web para que possua a mobilidade de ser acessado em qualquer local e a qualquer momento. 
1.4. Estrutura ou Organização do Trabalho
	O restante deste trabalho está organizado da seguinte maneira:
O item 2 apresenta a revisão de literatura. O item 3 detalha a metodologia de desenvolvimento deste trabalho. O item 4 apresenta resultados e discussões, enquanto o item 5 conclui o trabalho, trazendo as considerações finais. E no item 6 são apresentadas as referências bibliográficas. Também está disponível no Anexo A um problema resolvido, passo a passo, via Simplex, no Anexo B o detalhamento do problema resolvido por este trabalho e no Anexo C o questionário utilizado para a avaliação do software.
2. Revisão de Literatura
A seção 2.1 apresenta os princípios básicos de nutrição animal contendo informações sobre as características nutricionais dos alimentos utilizados em dietas, exigências nutricionais dos bovinos leiteiros (seção 2.2.8), como formular dietas (seção 2.1.9) e outros tópicos relacionados. Em seguida será apresentada a base teórica de programação linear para resolução do problema (seção 2.2). 
2.1. Conceitos Básicos de Nutrição Animal
2.1.1. Nutrição 
	
	Segundo Salman et al. (2011), nutrição é a ciência que estuda os fenômenos bioquímicos e fisiológicos mediante os quais os alimentos ingeridos pelos seres vivos são digeridos e os produtos da digestão são absorvidos e metabolizados para atender as exigências de manutenção e produção do animal.
	Nutrição animal compreende aos mecanismos pelos quais os animais recebem e utilizam os nutrientes necessários à vida. É o processo de dar às células do corpo as condições químicas necessárias para desenvolvimento das reações metabólicas. 
 
2.1.2. Nutrientes
	Nutrientes são compostos químicos orgânicos e inorgânicos presentes nos alimentos e que são aproveitados pelo organismo animal preenchendo alguma fração nutricional e que participam diretamente dos processos metabólicos dos animais (SALMAN et al. 2011). Isto é, são utilizados na síntese de algum composto do organismo animal ou queimados para a produção de energia. 
	Os nutrientes presentes nos alimentos podem ser divididos em macronutrientes (proteínas, carboidratos e lipídeos) e micronutrientes (vitaminas e minerais).
	Nutrientes essenciais são os nutrientes que não são sintetizados pelo organismo ou são sintetizados em quantidades baixíssimas. 
 
2.1.3. Alimentos 
	Segundo Salman et al. (2011), alimentos são substâncias que quando consumidas por um indivíduo são capazes de contribuir para assegurar o ciclo de vida, pois, tais substâncias são aproveitadas e fornecem nutrientes para a manutenção e desenvolvimento dos tecidos que compõem o corpo dos animais. 	Através da alimentação são fornecidos nutrientes aos animais, na forma mais adaptada às suas preferências e condições fisiológicas onde se deve garantir que os mesmos consumam, transformem, assimilem e utilizem os nutrientes contidos nos alimentos de acordo com suas necessidades. Portanto, a alimentação engloba a escolha dos alimentos e o preparo dos mesmos até o fornecimento aos animais (SALMAN et al., 2011). 
 
2.1.4. Classificação dos Alimentos 
	A classificação dos alimentos aqui descrita é baseada na destinação às várias espécies animais, segundo descrito por Andriguetto et al. (2002), que baseiam tais conceitos de acordo com o NRC (2001). Os alimentos são classificados em alimentos volumosos e alimentos concentrados. 
	Alimentos volumosos ou não concentrados englobam todos os alimentos de baixo valor energético por unidade de peso em virtude de seu elevado teor em fibra bruta ou em água. Alimentos que possuem mais de 18% de fibra bruta são considerados como alimentos volumosos e são compreendidos por forragens secas (fenos, palhas) e forragens aquosas (silagens, pastagens, raízes e tubérculos). 
	Alimentos concentrados são os alimentos que contêm alto teor em energia por unidade de peso devido a um elevado teor de amido e/ou lipídeos e baixo teor de fibra bruta. Nesse grupo também se encontram os alimentos com alto teor de proteínas subdivididos em alimentos energéticos (alimentos com menos do que 16% a 18% de proteína bruta - os grãos de cereais), suplementos proteicos (alimentos com mais de 20% de proteína bruta - de origem vegetal ou animal) e outros alimentos portadores de vitaminas, minerais e outros, como por exemplo, os aminoácidos. 	
	Segundo Andriguetto et al. (2002), os alimentos volumosos constituem a base da alimentação dos ruminantes, cuja grande capacidade do aparelho digestivo, permitea ingestão de grandes volumes de alimentos e, notadamente, em função da flora microbiana do rúmen é capaz de digerir a celulose fornecendo energia ao organismo do animal. Os alimentos concentrados funcionam como suplemento aos ruminantes para elevar o valor energético ou proteico dos alimentos volumosos. 
 
2.1.5. Composição Química dos Alimentos 
	Conhecer a composição química dos alimentos é importante para melhor avaliá-los em seu potencial de nutrientes. Submetendo-se um alimento a 105ºC em uma estufa é possível verificar que a quantidade inicial diminuiu em peso e volume. Nessa temperatura, a perda sofrida pelo alimento é o seu teor de água. Numa primeira divisão pode-se dizer que os alimentos são constituídos por água e matéria seca (MS). Submetendo a MS a 550ºC, verifica-se que parte do alimento se queima e se volatiliza, restando um resíduo chamado de resíduo mineral (cinzas). A parte queimada é a matéria orgânica do alimento. Portanto, um alimento possui teor de água, constituintes orgânicos e sais minerais. Estes dois últimos contidos na matéria seca. “O valor nutritivo de um alimento, depende, assim, em princípio, do seu teor de matéria seca” (ANDRIGUETTO et al., 2002). 
	A matéria orgânica do alimento é dividida em grandes grupos de substâncias diferenciadas por suas propriedades químicas, físico-químicas e biológicas que são: carboidratos, lipídeos e proteínas. 
	Carboidratos ou glicídeos são substâncias orgânicas formadas por carbono, hidrogênio e oxigênio, cuja fórmula geral é Cn(H2O)n. São representados, principalmente, pelos açúcares, amidos e celuloses. Os açúcares e o amido são facilmente digeridos pelos animais e têm elevado valor alimentício (energético). Por outro lado, a celulose e outros glicídeos complexos são digeridos com mais dificuldade implicando muito em desperdício de energia em sua digestão, exceto nos ruminantes, cuja flora microbiana é de inestimável valor para a digestão da mesma (ANDRIGUETTO et al., 2002). 
	Lipídeos são substâncias presentes nos alimentos vegetais e animais, insolúveis na água, porém, extraíveis por solventes orgânicos como: éter, clorofórmio e benzeno. Os lipídeos contêm carbono, hidrogênio e oxigênio sendo mais carbono e hidrogênio em proporção ao oxigênio do que contém nos os carboidratos (ANDRIGUETTO et al., 2002). Os ácidos graxos, um tipo de classificação dos lipídeos, segundo Salman et al. (2011), fazem parte do grupo mais abundante de lipídeos nos seres vivos e são classificados com saturados ou insaturados, de acordo com a ausência ou presença de ligações duplas entre átomos de carbono presentes na molécula destes lipídeos.
	As proteínas se diferem quimicamente dos carboidratos e dos lipídeos por conterem, além de carbono, hidrogênio e oxigênio, também o nitrogênio (ANDRIGUETTO et al., 2002). Elas estão presentes em todas as células e são formadas por aminoácidos interligados por ligações peptídicas. Alguns exemplos de aminoácidos são: arginina, glicina, ácido glutâmico, cistina, taurina, tirosina, etc. Os aminoácidos, que não são sintetizados pelo organismo animal, mas que são necessários para o seu funcionamento, devem estar contidos na dieta e são denominados de essenciais. Podem ser citados como exemplo: leucina, lisina, triptofano, etc (SALMAN et al.,2011). 
	Na matéria mineral, encontram-se todos os elementos minerais conhecidos, tais como: sódio, fósforo, cálcio, ferro, manganês, potássio, cobre, magnésio, cloro, enxofre, iodo, flúor, zinco, etc (ANDRIGUETTO et al., 2002).
 
2.1.6. Dieta X Ração 
 
Segundo Avila et al. (2003), dieta é uma mistura equilibrada de ingredientes para suprir os nutrientes exigidos pelos animais para o seu sustento e desempenho produtivo e reprodutivo. Ração é determinada quantidade de uma dieta fornecida aos animais no período de 24 horas. 
 
2.1.7. Exigências nutricionais de vacas leiteiras 
	Exigência nutricional, segundo Salman et al. (2011), é a quantidade, de cada nutriente, necessária para manutenção, crescimento, reprodução e produção dos animais. As exigências nutricionais, diária em nutrientes e energia, são estimadas com base no nível de produção, peso corporal e estágio fisiológico. 
Segundo Carvalho et al. (2002), como ruminante, a vaca de leite é capaz de transformar alimentos de baixo valor nutricional (forragens e forrageiras) aos não-ruminantes, em produtos de valor econômico. Entretanto, à medida que se busca maior produtividade por animal, os volumosos (pasto, silagem e feno) por si só, não são suficientes para manter esta maior produtividade. Neste caso, além dos volumosos,  a alimentação do gado de leite deve ser acrescida de uma mistura de concentrados, minerais e vitaminas. 
Um sistema de alimentação eficaz é baseado nos requerimentos nutricionais (proteína, energia, minerais e vitaminas) para cada categoria animal do rebanho e na composição química dos alimentos utilizados. 
 
2.1.8. Formulação de dietas 
	Existem diversos métodos para a elaboração e cálculo de dietas, como: tentativa e erro, quadrado de Pearson, método algébrico, planilhas eletrônica e softwares. Os métodos mais práticos são os realizados em computador devido à rapidez e precisão. 
	Na seção 2.2 será explicado como formular dietas via computador utilizando-se das técnicas do método simplex. Salman et al. (2011) indicam alguns cuidados que devem ser tomados ao formular dietas. Como a dieta deve ser balanceada com ingredientes de custo mínimo, para evitar impactos no custo final, é necessário conhecer a relação do valor nutritivo pelo preço dos alimentos disponíveis para compará-los e utilizá-los em maiores quantidades àqueles que são mais econômicos. 
2.2. Pesquisa Operacional 
A denominação Pesquisa Operacional (PO) é comumente motivo de críticas e reflexões, pois não revela a abrangência da área. Arenales et al. (2007) citam algumas definições de PO que são descritas a seguir: 
“[...] consiste no desenvolvimento de métodos científicos de sistemas complexos, com a finalidade de prever e comparar estratégias ou decisões alternativas. O objetivo é dar suporte a definição de políticas e determinação de ações de forma científica [...] abordagem científica para tomada de decisões, que procura determinar como melhor projetar e operar um sistema, usualmente sob condições que requerem a alocação de recursos escassos [...] abordagem científica para a solução de problemas no gerenciamento de sistemas complexos” (ARENALES et al., 2007, p.03). 
Resumidamente pode-se dizer que PO possui um enfoque científico sobre a tomada de decisões. Para resolver um problema real utilizando as regras de PO, é necessário criar uma representação simplificada do problema, ou seja, criar um modelo matemático do problema (modelagem). 
A modelagem define as variáveis e as relações matemáticas. As relações matemáticas entre essas variáveis são estabelecidas de forma a descrever o comportamento do problema real. Exemplos de modelos matemáticos são os modelos de programação matemática (otimização matemática), como por exemplo: programação linear (otimização linear), programação linear inteira (otimização discreta), programação em redes (otimização em redes) e programação não-linear (otimização não-linear) (ARENALES et al., 2007). 
Segundo Belfiore e Fávero (2012), um modelo matemático é composto por três elementos principais: variáveis de decisão e parâmetros, função objetivo e restrições. Variáveis de decisão são as incógnitas (valores desconhecidos) que serão determinadas pela solução do modelo. Parâmetros são valores fixos previamente conhecidos do problema. Função objetivo é uma função matemática que determina o valor alvo que se pretende alcançar em função das variáveis de decisão e dos parâmetros, podendo ser de maximização ou minimização. Restrições são equações que as variáveis de decisão devem satisfazer para considerar as limitações físicas do sistema. 
Uma vez que o problema do balanceamento de dieta para bovinos leiteiros trata-se de um problema de decisão onde a função objetivo e as restrições são representadas porfunções lineares, cabe a utilização da otimização linear para resolver o problema. 
 
2.2.1. Programação Linear 
	Belfiore e Fávero (2012) definem Programação Linear (PL) ou otimização linear como um problema em que a função objetivo e todas as restrições são representadas por funções lineares das variáveis de decisão. Uma função é linear quando envolve constantes e termos com variáveis de primeira ordem, por exemplo: f(x1,x2,x3) = 3x1 + 8x2 – 2x3 é uma função linear pois segue a sua lei de formação que é do tipo f(x) = a.x, com a real e diferente de zero. As variáveis de decisão devem ser todas contínuas, ou seja, devem assumir quaisquer valores em um intervalo de números reais. O objetivo consiste em maximizar ou minimizar uma função linear de variáveis de decisão sujeito a um conjunto de restrições representadas por equações ou inequações lineares incluindo as equações de não negatividade das variáveis de restrição. 
Diversos métodos de solução podem ser aplicados para determinar a solução ótima de um modelo de PL, tais como: resolução gráfica, resolução analítica e simplex. O método simplex, que será especificado mais detalhadamente, na seção 2.2.2, é o mais conhecido e utilizado, pois, a PL foi amplamente utilizada na prática a partir de 1947 quando o método simplex foi publicado por George B. Dantzig, seguindo-se intensas pesquisas e aplicações em diversas áreas. 
Exemplos de problemas que podem ser formulados como um problema de PL estão distribuídos nas mais variadas áreas. Um desses exemplos são os problemas de misturas descrito por Arenales et al. (2007) como problemas que consistem em combinar materiais obtidos na natureza para gerar novos materiais ou produtos. Esses tipos de problemas estão entre os primeiros problemas de otimização linear implementados com sucesso na prática. Um exemplo particular desta classe de problemas é a formulação de dietas. 
	Exemplificando como funciona a PL, Arenales et al. (2007), traz como exemplo a formulação matemática do problema de mistura que será reproduzido aqui, pois se assimila muito com o problema do balanceamento de dieta para bovinos leiteiros.
O problema da mistura consiste na fabricação de um produto combinando-se alguns materiais que devem satisfazer determinadas especificações. A composição de cada ingrediente deve ser conhecida com o seu custo unitário. Deseja-se determinar as quantidades de cada ingrediente que se deve utilizar para obter uma mistura com a composição especificada e com o menor custo possível. 
Um dos passos fundamentais para escrever um modelo matemático é identificar as variáveis. Nesse problema as variáveis são as quantidades dos ingredientes, então, seja n o número de ingredientes e m o número de componentes, definimos as variáveis como xj, a quantidade de ingrediente j que deve ser utilizada em uma unidade de mistura, j = 1, 2,..., n. As variáveis devem ser não negativas, pois um valor negativo para xj não tem significado, isto é: xj ≥ 0 , j = 1, 2,..., n são restrições do problema. As demais restrições relativas a esse problema são: 
aij	a fração do componente i no ingrediente j, i = 1,...,m e j = 1,...,n; 
bi	a fração do componente i na mistura, i = 1,...,m; 
cj	o custo de uma unidade do ingrediente j, j = 1,..., n. 
Como aij é a fração do componente i no ingrediente j, então aijxi é a quantidade do componente i em xj unidades do ingrediente j. Portanto, ai1x1 + ai2x2 + ... + aimxn é a quantidade total do componente i em uma unidade de mistura. Como a quantidade do componente i em uma mistura deve ser bi, escreve-se: 
ai1x1 + ai2x2 + ... + ainxn = b1i =1, 2,...,m. 
	Como xj, j = 1,...,n, são as quantidades dos ingredientes a serem utilizadas em uma unidade da mistura, então a soma dessas quantidades deve resultar em uma unidade da mistura (x1 +...+xn = 1) 
	O custo de uma unidade da mistura é a soma dos custos de todos os ingredientes utilizados para sua obtenção, ou seja, c1x1 + c2x2 + ... + cnxn. 
	Como desejamos minimizar o custo, o problema da mistura é escrito: 
	Minimizar	f(x1,x2,...,x3) = c1x1 + c2x2 + ... + cnxn 
			a11x1 + a12x2 + ... + a1nxn = b1 
			a21x1 + a22x2 + ... + a2nxn = b2 
			... 
			am1x1 + am2x2 + ... + amnxn = bm 
			x1 + x2 + ... + xn = 1 
			x1 ≥ 0, x2 ≥0, ..., xn ≥ 0. 
	Exemplificando toda a teoria descrita acima, temos o seguinte problema: Deve-se produzir um tipo de dieta para determinado animal. Essa dieta é produzida pela mistura de silagem de milho, farelo de soja e mistura mineral. Cada um desses ingredientes contém diferentes quantidades dos nutrientes necessários a uma dieta nutricional balanceada, tais como: proteína, energia, fibra, cálcio e fósforo. O nutricionista especifica as necessidades mínimas e máximas desses nutrientes em Unidades/Dia conforme indicado na tabela 1. Cada ingrediente é adquirido no mercado com certo custo unitário (R$/Kg). Na tabela 1, todos os dados do problema são apresentados. Por exemplo: a silagem de milho é constituída de 30 g de proteína, 1,5 Mcal de energia, 600 g de fibra, 6 g de cálcio e 1 g de fósforo. Um quilograma desta silagem custa R$ 0,30. A ração deve ser composta no mínimo por 2240 g de proteína, 24 Mcal de energia, 6000 g de fibra, 64 g de cálcio e 64 g de fósforo. 
Tabela 1 - Dados para o problema da dieta
	Ingredientes
Nutrientes
	Silagem de Milho (kg)
	Farelo de Soja (kg)
	Mistura Mineral (kg)
	Quantidade
(Unidades/Dia)
	
	
	
	
	Min.
	Máx.
	Proteína (g)
	30
	450
	0
	2240
	-
	Energia (Mcal)
	1,5
	2,5
	0
	24
	-
	Fibra (g)
	600
	150
	0
	6000
	-
	Cálcio (g)
	6
	3,2
	320
	64
	160
	Fósforo (g)
	1
	1,6
	160
	64
	160
	Preço (R$)
	0,30
	0,28
	0,60
	-
	-
Fonte: Autor (2016).
	Deve-se determinar em que quantidades os ingredientes devem ser misturados de modo a produzir uma dieta que satisfaça as restrições nutricionais com o mínimo custo. Defina a variável de decisão xj como a quantidade do ingrediente j que deve ser utilizada em uma unidade da dieta, j = milho, soja e mineral. Com isso, o custo da mistura é dado por: f(xmilho, xsoja, xmineral) = 0,30xmilho + 0,28xsoja + 0,60xmineral e as restrições de composição são dadas por: 
30xmilho + 450xsoja ≥ 2240 
1,5xmilho + 2,5xsoja ≥ 24 
600xmilho + 150xsoja ≥ 6000 
6xmilho + 3,2xsoja + 320xmineral ≥ 64 
6xmilho + 3,2xsoja + 320xmineral ≤ 160 
xmilho + 1,6xsoja + 160xmineral ≥ 64 
xmilho + 1,6xsoja + 160xmineral ≤ 160 
Os ingredientes podem ser utilizados ou não, isto é, xmilho ≥ 0, xsoja ≥ 0 e xmineral ≥ 0. O modelo matemático completo fica então: 
Minimizar	f(xmilho, xsoja, xmineral) = 0,30xmilho + 0,28xsoja + 0,60xmineral 
Sujeito a:	30xmilho + 450xsoja ≥ 2240 
		1,5xmilho + 2,5xsoja ≥ 24 
		600xmilho + 150xsoja ≥ 6000 
		6xmilho + 3,2xsoja + 320xmineral ≥ 64 
		6xmilho + 3,2xsoja + 320xmineral ≤ 160 
		xmilho + 1,6xsoja + 160xmineral ≥ 64 
		xmilho + 1,6xsoja + 160xmineral ≤ 160 
		xmilho ≥ 0, xsoja ≥ 0, xmineral ≥ 0 
	A melhor solução, chamada solução ótima deste modelo, é dada por: xmilho = 8, xsoja = 8 e xmineral = 0,27, o que significa que a ração deve ser constituída de 8 kg de silagem de milho, 8 kg de farelo de soja e 0,27 kg de mistura mineral. 
 
2.2.2. Método Simplex 
	
	A resolução de um problema em PL consiste em resolver sistemas de equações lineares e calcular o valor da função objetivo. Esse procedimento é bastante trabalhoso, já que é necessário resolver todos os sistemas para escolher o que resulta no valor otimizado para a função objetivo. Em problemas reais onde o número de equações e variáveis é grande, o processo se torna inviável. 
	É nesse contexto que o algoritmo Simplex, segundo Goldbarg e Luna (2005), destaca-se como uma das grandes contribuições à Programação Matemática desse século. “Trata-se de um algoritmo geral extremamente eficiente para a solução de sistemas lineares e adaptável ao cálculo computacional [...], e cuja compreensão funcional embasará vários outros métodos” (GOLDBARG; LUNA 2005). 
	Segundo Arenales et al.(2007), em 1947, com a disseminação da Pesquisa Operacional nos Estados Unidos, após a segunda Guerra Mundial, um grupo lideradopor George B. Dantzig, considerado o pai da PL, criou o Simplex, primeiro algoritmo para viabilizar a solução de programas lineares. O Simplex é um algoritmo bastante popular e encontra boa aceitação em áreas onde diversas necessidades e restrições influenciam em um valor que precisa ser maximizado ou minimizado. 
	O método Simplex consiste em uma sistemática que responda as seguintes questões, abordadas por Andrade (2011): 
· Qual sistema de equações deve ser resolvido? 
· O próximo sistema a ser resolvido fornecerá uma solução melhor que os anteriores? 
· Como identificar uma solução ótima, uma vez que a tenhamos encontrado? 
O Simplex funciona como um algoritmo de sete passos que pode ser implementado de várias maneiras, sendo o princípio, basicamente o mesmo. O Algoritmo 1 mostra a abordagem utilizada por Andrade (2011) para um processo de maximação. 
 
Algoritmo Simplex 
 
Passo 1: Introduzir as variáveis de folga (uma para cada desigualdade). 
Passo 2: Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com seus respectivos sinais e, na primeira linha, incluir os coeficientes da função objetivo transformada. 
Passo 3: Estabelecer uma solução básica inicial, usualmente atribuindo valor zero às variáveis originais e achando valores positivos para as variáveis de folga. 
Passo 4: Como próxima variável a entrar na base, escolher a variável não básica que fornece, na primeira linha, a maior contribuição para o aumento da função objetivo, ou seja, tem o maior valor negativo. Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nessa linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isto significa que esta pode ser introduzida na base sem aumentar o valor da função objetivo. Isso quer dizer que temos outra solução ótima, como o mesmo valor da função objetivo. 
Passo 5: Para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento: 
a) Dividir os elementos da última coluna pelos correspondentes elementos positivos da coluna da variável que vai entrar na base. Caso não haja elemento algum positivo nessa coluna, o processo deve parar, já que a solução seria ilimitada. 
b) O menor quociente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não-básica. 
Passo 6: Empregando operações validas com as linhas da matriz, transformar o quadro de cálculos de modo a encontrar a nova solução básica. A coluna da nova variável básica deverá se tornar um vetor identidade, no qual o elemento 1 aparece na linha correspondente à variável que está sendo anulada. 
Passo 7: Retornar ao Passo 4 para iniciar outra iteração. 
Algoritmo 1 - Simplex 
Fonte: Andrade (2011). 
 
Uma expressão contida no Algoritmo 1 necessita de uma explicação anterior, que é o conceito de variáveis de folga (passo 1). São variáveis que serão acrescentadas as inequações para transformá-las em equações. Normalmente, as variáveis de folga são denominadas por de xFi , onde i é o índice da variável, exemplo, 2x1 ≤ 80 2x1 + xF1 = 80. 
Um exemplo de problema resolvido, passo a passo, via simplex, pode ser encontrado no anexo A. 
3. METODOLOGIA
3.1. Tipo de Pesquisa
	Com relação ao Tipo de pesquisa, Jung (2004) e Marconi e Lakatos (2003) afirmam que esta pode ser classificada quanto a sua natureza (básica ou fundamental, aplicada ou tecnológica); quanto aos seus objetivos (exploratória, descritiva ou explicativa); quanto aos procedimentos (experimental, operacional, estudo de caso) e quanto ao local de realização da mesma (laboratório ou campo). 	Este trabalho trata de uma pesquisa classificada, na visão dos autores, como:
· Quanto à natureza:
· Pesquisa tecnológica, que objetiva a aplicação dos conhecimentos básicos na geração de novos produtos, processos, patentes e serviços;
· Quanto aos objetivos:
· Pesquisa exploratória, que visa inovação tecnológica;
· Quanto aos procedimentos:
· Pesquisa operacional, trata da busca do ótimo, uso de ferramentas estatísticas, métodos matemáticos da otimização, busca do melhor resultado – condição ótima.
 
3.2. Material e Métodos
3.2.1. Estudo do Problema 
 
A primeira fase do trabalho foi o estudo e entendimento do problema. O estudo foi realizado através de uma planilha de formulação de dietas (seção 3.2.1.1) e fatores de correção (seção 3.2.1.2), que foram incluídos nos cálculos para que a formulação de dieta fique de acordo com as características dos animais. 
 
3.2.1.1. Formulação do Problema 
 
Foi realizado um estudo de todos os cálculos contidos em uma planilha de formulação de dieta, conforme Carvalho (2013), com otimização a um custo mínimo, desenvolvida de acordo com o NRC (NATIONAL RESEARCH CONCIL - NRC, 2001). 
Uma planilha é constituída por: equações lineares que referenciam a composição química dos alimentos; restrições, que irão interferir na quantidade de cada alimento segundo as exigências nutricionais de cada animal; função objetivo, que nesse caso, será a minimização do preço da dieta. Detalhes da constituição dos dados do problema podem ser vistos no anexo B.
 Todos esses dados são computados para que a solução seja realizada através das técnicas de Programação Linear. 
 
3.2.1.2. Fatores de correção 
 
Como cada animal possui características biológicas distintas, ou seja, cada animal possui suas exigências nutricionais, faz-se necessário a inclusão de fatores de correção na resolução do problema. 
Os fatores de correção são equações que irão interferir diretamente na composição dos alimentos para que a formulação de dieta fique de acordo com as características de cada animal. Tais cálculos também fazem parte das restrições do problema e também são computados e podem ser vistos no anexo B. 
 
3.2.2. Desenvolvimento do sistema 
 
Depois de realizados os estudos necessários para a compreensão do problema (Seção 3.2.1), iniciou-se a fase de desenvolvimento do sistema que seguiu as boas práticas de gerência de projetos da Engenharia de Software visando à organização, produtividade e qualidade do sistema. 
	O desenvolvimento do sistema foi realizado em quatro etapas: Levantamento de Requisitos (seção 3.2.2.1), Modelagem (seção 3.2.2.2), Implementação (seção 3.2.2.3) e Testes de Validação (seção 3.2.2.4).
3.2.2.1. Levantamento de Requisitos 
 
O início para toda a atividade de desenvolvimento de software é o levantamento de requisitos, ou seja, é necessária uma especificação do que o sistema deverá fazer. 
Nesse momento é importante já ter entendido o problema, por isso, a primeira fase do trabalho foi realizar um estudo do problema a fim de sua compreensão. A partir disso já é possível um levantamento de requisitos adequado que possua uma boa definição do projeto, efetividade e informações necessárias. 
O levantamento de requisitos foi realizado por meio de reuniões com o coorientador e por avaliações de outros sistemas. 
As tabelas 2 e 3 mostram os requisitos funcionais e não funcionais do sistema desenvolvido.
Tabela 2 - Relação de Requisitos Funcionais do Sistema
	Item
	Requisitos Funcionais
	RF1
	O usuário deverá ter usuário e senha para acesso ao sistema. 
	RF2
	O usuário poderá Manter Animais no sistema.
	RF3
	O usuário poderá Calcular Dietas no sistema.
	RF4
	O usuário poderá Realizar Avaliação Econômica de Ingredientes no sistema.
	RF5
	O usuário poderá Manter Alimentos no sistema.
	RF6
	O usuário poderá Emitir Relatório de Dietas no sistema.
	RF7
	O usuário poderá Emitir Relatório de Avaliação Econômica de Ingredientes no sistema.
	RF8
	O usuário poderá Manter Usuários no sistema.
	RF9
	O usuário poderá visualizar conteúdo de Ajuda para utilizar o Sistema.
Fonte: Autor (2016).
Tabela 3 - Relação de Requisitos Não Funcionais do Sistema
	Item
	Requisitos Não-Funcionais
	RF1
	O sistema deverá ser implementado na linguagem de programação PHP.
	RF2
	O sistema deverá ser implementado na linguagem de marcação HTML.
	RF2
	O sistema deverá utilizar banco de dados MySQL.
	RF3
	O sistema deverá ter desenvolvimentoopen source.
	RF4
	O sistema deverá ser desenvolvido em plataforma web.
	RF5
	O sistema deverá ser desenvolvido no IDE NetBeans.
Fonte: Autor (2016).
3.2.2.2. Modelagem 
 
Utilizando Unified Modellig Language (UML), foi necessário esboçar a visão do sistema proposto onde foram utilizados dois artefatos UML. Para descrever as funcionalidades que constam no sistema, foi utilizado o artefato conhecido como diagrama de caso de uso (ou use case), indicado pela figura 1. Este diagrama traz os dois atores possíveis no sistema: Usuário e Administrador. O ator Usuário pode criar e editar usuário, realizar login, manter animais (criar, editar, consultar e excluir), calcular dieta, enviar e consultar alimentos, realizar a avaliação econômica de nutrientes, ver informações, enviar dúvidas e pedir ajuda para utilizar o sistema. E o ator Administrador pode realizar todas as atividades do ator Usuário, além de, manter administradores, consultar e excluir usuários e inserir, editar e excluir alimentos.
Figura 1 - Diagrama de Caso de Uso
Fonte: Autor (2016).
O artefato diagrama de classes foi utilizado para definir todas as classes (visão estática do sistema) que compõe o mesmo, como pode ser observado na figura 2. 
Figura 2 - Diagrama de Classe
Fonte: Autor (2016).
	Para o desenvolvimento do sistema proposto, também foi necessário o uso de um banco de dados. A estrutura do banco de dados está representada pelo diagrama de entidade relacionamento exibido na figura 3.
Figura 3 - Diagrama Entidade Relacionamento
Fonte: Autor (2016).
3.2.2.3. Implementação 
 
Nesta fase do ciclo de vida do sistema, foi feito a elaboração e preparação dos módulos necessários à sua execução. 
Como o sistema é web, ele foi desenvolvido utilizando a linguagem de programação PHP, pois, a linguagem PHP é considerada, segundo Bruno et al. (2010), uma das mais poderosas ferramentas para profissionais de desenvolvimento e programação voltada para a Internet, sendo capaz de reduzir bruscamente a quantidade de tempo necessário para a realização de um projeto. 
Também foi utilizada a biblioteca glpk.js[footnoteRef:9] para resolver a programação linear do problema através da metodologia simplex. A biblioteca trata-se de um Kit GNU de Programação Linear para Javascript. GNU se refere ao projeto GNU, onde o objetivo do projeto, segundo Brito (2012), era criar um sistema operacional chamado GNU totalmente baseado em software livre. Embora o objetivo inicial do projeto tenha sido o sistema operacional GNU, o grande mérito dele tem sido a criação de vários programas livres e a divulgação da filosofia do software livre que dá, aos usuários destes programas, quatro liberdades específicas: a liberdade de executar o programa como desejar; a liberdade de copiá-lo e dá-lo a quem quiser; a liberdade de modificar o programa como desejar, através do acesso total ao código-fonte e a liberdade de distribuir versões melhoradas e, com isso, ajudar a construir uma comunidade em torno do produto. [9: Disponível em: https://github.com/hgourvest/glpk.js] 
Foi usado o framework CodeIgniter para facilitar o uso do PHP. Segundo Upton (2007), todos nós queremos fazer aplicações que funcionam bem e fazê-las o mais simples e fácil possível. Essa é a função do CodeIgniter, tornar a linguagem PHP mais fácil de ser usar. Esse framework é livre, leve e simples de instalar e torna a programação em PHP muito mais fácil. 
Foi criado um banco de dados MySQL para o sistema. O MySQL se adéqua ao problema, visto que não existe um grande volume de dados. Outras características importantes deste Sistema Gerenciador de Banco de Dados (SGBD), de acordo com Lobo (2008), são: sua rapidez, flexibilidade e robustez, por rodar em várias plataformas, além de ser muito utilizado na Internet. 
3.2.2.4. Testes e Validação 
 
À medida que o software foi desenvolvido, chamado de Balanced Diet, o mesmo foi implantado no sítio http://balanced-diet.pe.hu/BD, ainda que em fase de testes, para que fosse avaliado pelos interessados em formulação de dietas, e para que fosse realizado um refinamento e depuração dos possíveis erros do mesmo. 
A validação foi realizada simulando a informação de oito animais hipotéticos. Para cada animal, foram testadas três dietas que variavam quanto ao volumoso utilizado, totalizando 24 dietas avaliadas no Balanced Diet e no software Dairy NRC. As estimativas dos dois programas foram comparadas e os resultados obtidos são demonstrados na seção 4.2.
3.2.2.4.1. Avaliação
	Para avaliar o software, foi aplicado a oito especialistas em nutrição animal, um questionário referente às características do sistema com técnicas de usabilidade aplicadas a fim de avaliar o grau de aceitação, usabilidade e desempenho do mesmo. 
	O questionário foi criado na ferramenta Google Forms[footnoteRef:10] e enviado a aproximadamente vinte usuários, destes, apenas oito responderam. O período de aplicação ocorreu de 14 à 30 de janeiro de 2016. [10: Disponível em: https://www.google.com/forms/about/] 
	O questionário pode ser encontrado no Anexo C e o resultado obtido é detalhado na seção 4.2 - Avaliação do Sistema.
4. Resultados e Discussão
4.1. Visão Geral do Sistema
	Esta seção apresenta as funcionalidades do Sistema Balanced Diet. 	Foram elaboradas várias telas para o usuário realizar, desde o objetivo principal deste trabalho, que consiste no balanceamento de dietas, até telas de ajuda e informações, parte administrativa e a avaliação econômica de ingredientes, onde é realizado um teste de um alimento qualquer escolhido pelo usuário para verificar a sua importância nutricional em uma variação de preço de mercado e dentro de uma dieta com vários outros alimentos. A seguir são demonstrados cada parte do sistema desenvolvido.
4.1.1. Acesso ao Sistema
	Para que os usuários tenham acesso à maioria das funcionalidades do sistema, é necessário estar logado para a proteção dos dados dos usuários e organização do sistema. Caso o usuário/visitante do sistema deseje acessar alguma parte que requeira a autenticação, o sistema exibirá uma mensagem informativa de acesso negado. Esta mensagem pode ser vista na figura 4.
Figura 4 - Tela de Acesso Negado
Fonte: Autor (2016).
	Clicando no link Ir para Login, da figura 4, o usuário é redirecionado para a tela de login, indicado pela figura 5. Caso o usuário já esteja cadastrado, ele poderá realizar o login, preenchendo os campos e-mail e senha. Caso contrário, o usuário poderá realizar o seu cadastro clicando no link Cadastre-se e será redirecionado para a tela de cadastro de usuário indicado pela figura 6. Realizado o login, o sistema realizará a validação dos campos preenchidos permitindo ou não o acesso ao sistema.
Figura 5 - Tela de Login
Fonte: Autor (2016).
Figura 6 - Tela de Cadastro de Usuário
Fonte: Autor (2016).
	Após efetuado o acesso ao sistema, o usuário é redirecionado a página inicial do Balanced Diet. Essa tela possui o menu principal do sistema e ícones de atalho para acessar todas as partes que o constituem, como pode ser observado na figura 7.
Figura 7 - Página Inicial do Sistema
Fonte: Autor (2016).
4.1.2. Menu Animal
	Para calcular uma dieta, é necessária a escolha do animal para a qual esta dieta será calculada. O objetivo deste menu é o cadastro de animais para, posteriormente, realizar o cálculo da dieta para o animal cadastrado.
	Ao clicar em animais, na tela principal do sistema (figura 7), a tela de cadastro de animais é exibida conforme a figura 8.
Figura 8 – Tela de Cadastro de Animal
Fonte: Autor (2016).
	Após preencher todos os dados necessários e efetuar o cadastro, os animais cadastrados podem ser vistos através do botão Listar Meus Animais. A tela com a lista dos animais pode ser vista na figura 9. Nesta tela é possível atualizar os dados do animal, excluir o animal, ver as exigências nutricionais do animal e a lista de dietas já formuladas para aquele animal.
Figura 9 - Tela Listar Meus Animais
Fonte: Autor (2016).
4.1.3. Menu Alimentos
	No menu, Alimentos, o usuário tem duas opções: EnviarAlimento ou Lista de Alimentos. Em enviar alimento, o usuário pode enviar a composição de um alimento, ilustrado pela figura 10, para a avaliação do administrador do sistema, caso este ainda não esteja disponível. 
Figura 10 - Tela do menu Enviar Alimentos
Fonte: Autor (2016).
	E em Lista de Alimentos, o usuário pode consultar a composição dos alimentos já disponíveis no sistema ilustrado na figura 11.
Figura 11 - Tela do menu Lista de Alimentos
Fonte: Autor (2016).
4.1.4. Menu Calcular Dieta
	O menu, Calcular Dieta, traz a função principal do sistema desenvolvido. Neste menu é possível realizar o balanceamento de uma dieta para um animal já cadastrado. Para acessar este menu, o usuário deve estar logado. 
	Na primeira etapa do cálculo da dieta, exibido pela figura 12, deve-se selecionar o animal ao qual a dieta pertence, selecionar os alimentos que irão compor a dieta e preencher os dados requeridos, como: Balanço de PDR, Consumo de Mistura Mineral, EE, FDN e FDNf. Depois de realizados estes passos, o usuário já pode seguir para a segunda etapa do cálculo. 
Figura 12 - Calcular Dieta primeira Etapa
Fonte: Autor (2016).
	Na segunda etapa do cálculo, figura 13, é necessário incluir os preços dos alimentos da dieta. Esses preços já são pré-preenchidos com o preço do alimento que está gravado no banco de dados do sistema. Mas nada impede que o usuário troque esses valores conforme a sua necessidade. Feito isso, o usuário prossegue para a próxima etapa, que é a confirmação dos dados. Se tudo estiver correto, a dieta já pode ser calculada.
Figura 13 – Calcular Dieta segunda Etapa
Fonte: Autor (2016).
	Após calcular a dieta, a tela com os resultados é a próxima a ser exibida, como mostrado na figura 14. Esta tela traz os resultados obtidos como: total da dieta, total de MN, total de MS, quantidade de MN, quantidade de MS, proporção de MN, proporção de MS, preço e custo de cada alimento da dieta, exigência, balanço e resultado da dieta de cada restrição da dieta.
Figura 14 - Calcular Dieta Resultado
Fonte: Autor (2016).
	Ainda na tela de resultados (figura 14), é possível salvar a dieta para consultas futuras e/ou gerar o relatório da mesma para impressão e/ou salvar em formato PDF.
4.1.5. Menu Avaliação Econômica de Ingredientes
	O objetivo da Avaliação Econômica de Ingredientes é observar a inclusão de um alimento na dieta, em um determinado intervalo de preço. Para realizar este teste, muito semelhante ao cálculo da dieta, deve-se selecionar o animal para o qual o teste deverá suprir as exigências, o alimento testado, os demais alimentos que irão compor o teste e preencher os demais dados exigidos, como indicado pela figura 15.
Figura 15 - Avaliação Econômica de Ingredientes primeira Etapa
Fonte: Autor (2016).
	A próxima etapa do teste é a inserção dos preços inicial e final e a variação do preço do alimento testado, bem como o preço dos demais alimentos, indicado pela figura 16. Feito isso, o usuário pode prosseguir para a próxima etapa, que é a confirmação dos dados. Se tudo estiver correto, o teste pode ser realizado.
Figura 16 - Avaliação Econômica de Ingredientes segunda Etapa
Fonte: Autor (2016).
	Após o teste ser realizado, a tela de resultados é exibida (figura 17). Esta tela traz a quantidade de MN de cada alimento, do preço inicial ao final, iteração a iteração de intervalo de preço definido e o total da dieta para cada iteração. 	
Figura 17 - Avaliação Econômica de Ingredientes Resultado
Fonte: Autor (2016).
Esta tela possui duas ações: gerar o relatório do teste para impressão e/ou salvar em formato PDF ou também gerar o relatório do teste com gráfico incluído, como pode ser observado na figura 18, para impressão e/ou salvar em formato PDF.
Figura 18 - Gráfico da Avaliação Econômica de Ingredientes
Fonte: Autor (2016).
4.1.6. Menu Ajuda
	O menu, Ajuda, tem por objetivo auxiliar o usuário à utilizar o sistema. O passo a passo das principais funções do sistema estão disponíveis neste menu, como pode ser observado na figura 19.
Figura 19 - Tela do menu Ajuda
Fonte: Autor (2016).
4.1.7. Menu Fale Conosco
	No menu, Fale Conosco, é possível que qualquer pessoa entre em contato com o desenvolvedor do sistema enviando dúvidas, sugestões, comentários ou qualquer outro assunto sobre o sistema. Para isso, é necessário informar os dados e enviar a mensagem. A figura 20 exibe a tela deste menu.
Figura 20 - Tela do menu Fale Conosco
Fonte: Autor (2016).
4.1.8. Menu Info (Informações)
	No menu, Informações, são apresentadas as informações sobre o sistema, qual o seu objetivo, por quem foi desenvolvido e orientado. A figura 21 exibe a tela deste menu.
Figura 21 - Tela do menu Informações
Fonte: Autor (2016).
4.2. Validação do Sistema
	Para a validação do sistema foram simuladas as informações de oito animais hipotéticos (Tabela 4). 
	Para cada um deles foram testadas três dietas que variavam quanto ao volumoso utilizado (braquiária, silagem de milho e cana in natura). A composição dos alimentos foi configurada de maneira semelhante no Balanced Diet e no software Dairy NRC. As 24 dietas formuladas no Balanced Diet (Tabela 5) foram avaliadas no software Dairy NRC e as estimativas dos dois programas foram comparadas (Tabela 6).
Tabela 4 - Dados dos animais utilizados nas simulações
	Identificação
	PL
	Peso vivo
	GPD
	ECC
	DEL
	I
	40
	600
	100
	3
	200
	II
	30
	600
	0
	3
	100
	III
	30
	600
	100
	3
	200
	IV
	20
	550
	0
	3
	100
	V
	40
	650
	0
	3
	100
	VI
	50
	700
	0
	3
	100
	VII
	20
	550
	100
	3
	200
	VIII
	10
	500
	100
	3
	200
	PL: produção de leite; GPD: Ganho de peso diário esperado; ECC: Escore de condição corporal; DEL: Dias em lactação.
Fonte: Autor (2016).
	
Tabela 5 - Composição das dietas formuladas utilizando diferentes volumosos
	A
	S
	Alimentos (g/kg de MS)
	
	
	MM
	FS
	FA
	BB
	SM
	CN
	UR
	MIN
	I
	1
	255,3
	194,7
	11,6
	527,0
	-
	-
	-
	11,3
	I
	2
	189,3
	207,2
	-
	-
	592,2
	-
	-
	11,3
	I
	3
	115,9
	270,4
	-
	-
	-
	602,4
	-
	11,3
	II
	4
	185,8
	192,4
	-
	608,2
	-
	-
	-
	13,5
	II
	5
	64,2
	197,6
	-
	-
	724,7
	-
	-
	13,5
	II
	6
	0,1
	271,4
	-
	-
	-
	714,9
	-
	13,5
	III
	7
	230,6
	172,4
	-
	582,4
	-
	-
	1,4
	13,1
	III
	8
	59,8
	193,7
	-
	-
	733,4
	-
	-
	13,1
	III
	9
	-
	265,6
	-
	-
	-
	721,2
	-
	13,1
	IV
	10
	146,7
	183,9
	-
	652,6
	-
	-
	-
	16,7
	IV
	11
	3,0
	190,6
	-
	-
	789,6
	-
	-
	16,8
	IV
	12
	-
	250,2
	-
	-
	-
	732,0
	1,1
	16,8
	V
	13
	202,0
	91,4
	146,6
	548,6
	-
	-
	-
	11,4
	V
	14
	288,8
	222,6
	-
	-
	477,2
	-
	-
	11,4
	V
	15
	238,0
	272,4
	-
	-
	-
	478,3
	-
	11,4
	VI
	16
	211,6
	107,4
	125,4
	545,7
	-
	-
	-
	10,0
	VI
	17
	286,8
	218,7
	-
	-
	484,6
	-
	-
	10,0
	VI
	18
	229,5
	270,0
	-
	-
	-
	490,5
	-
	10,0
	VII
	19
	218,5
	155,8
	-
	606,9
	-
	-
	2,5
	16,2
	VII
	20
	2,6
	187,6
	-
	-
	793,6
	-
	-
	16,3
	VII
	21
	-
	246,9
	-
	-
	-
	735,7
	1,2
	16,3
	VII
	22
	227,2
	52,4
	-
	687,5
	-
	-
	11,5
	21,3
	VII
	23
	-
	81,4
	-
	-
	888,6
	-
	8,6
	21,4
	VII
	24
	-
	149,8
	-
	-
	-
	818,2
	10,7
	21,4
	A: Animal; S: Simulação; MM: Milho Moído; FS: Farelo de Soja; FA: Farelo de Algodão; BB: Brachiaria Brizantha; SM: Silagem de Milho; CN: Cana de Açúcar; UR: Ureia e MIN: Núcleo Mineral.
Fonte: Autor (2016).
A Tabela 6 apresenta o resultado obtido nos dois softwares utilizados para realizar a comparação dos resultados. As colunas desta tabela apresentam os resultados obtidos pelo Dairy NRC e pelo Balanced Diet para o Consumo de Matéria Seca, Balanço de PDR, Balanço de Proteína Metabolizável e Balanço de Energia Líquida.
A Tabela 7 apresenta os erros obtidos das dietas formuladas pelo Balanced Diet quando foram avaliadas pelo Dairy NRC. A coluna, “Desvio”, apresenta o erro obtido, bem como o desvio padrão. A coluna, “Probabilidade”, apresenta a probabilidade para o erro ser igual à zero. 
Tabela 6 - Comparação dos resultados entre os softwares Dairy NRC e Balanced Diet
	S
	A
	CMS
NRC
	CMS
BD
	BPDR
NRC
	BPDR
BD
	BPM
NRC
	BPM
BD
	BEL
NRC
	BEL
BD
	1
	I
	25,155
	25,151
	103
	50
	-118
	0
	-0,7
	0
	2
	I
	25,155
	25,14
	128
	50
	-104
	0
	0
	3,9493
	I
	25,155
	25,139
	575
	50
	65
	0
	0,4
	2,509
	4
	II
	21,069
	21,068
	100
	50
	34
	0
	0,6
	1,811
	5
	II
	21,069
	21,057
	121
	50
	53
	0
	1,5
	4,763
	6
	II
	21,069
	21,058
	138
	50
	44
	0
	0,9
	3,723
	7
	III
	21,721
	21,716
	41
	50
	66
	0
	1,6
	0
	8
	III
	21,721
	21,706
	206
	50
	101
	0
	2,2
	2,129
	9
	III
	21,721
	21,706
	-2
	34,659
	104
	0
	3,7
	1,113
	10
	IV
	17,023
	17,017
	85
	50
	35
	0
	1,5
	1,74
	11
	IV
	17,023
	17,008
	-431
	50
	263
	0
	15,9
	4,12
	12
	IV
	17,023
	17,008
	79
	50
	38
	0
	2
	4,004
	13
	V
	25,107
	25,104
	105
	50
	34
	0
	-1,8
	0
	14
	V
	25,107
	25,093
	201
	50
	1
	0
	0,6
	8,453
	15
	V
	25,107
	25,092
	206
	50
	-5
	0
	0,3
	7,461
	16
	VI
	28,591
	28,586
	110
	50
	39
	0
	-2,7
	0
	17
	VI
	28,591
	28,572
	214
	50
	6
	0
	-0,7
	9,103
	18
	VI
	28,591
	28,573
	330
	50
	2
	0
	-0,9
	7,826
	19
	VII
	17,547
	17,541
	33
	50
	63
	0
	2,6
	0
	20
	VII
	17,547
	17,531
	89
	50
	85
	0
	3
	1,338
	21
	VII
	17,547
	17,532
	65
	50
	71
	0
	2,7
	1,215
	22
	VIII
	13,358
	13,349
	10
	50
	71
	0
	3
	0
	23
	VIII
	13,358
	13,341
	26
	50
	83
	0
	3,5
	1,308
	24
	VIII
	13,358
	13,341
	47
	50
	72
	0
	3,2
	1,235
	S: Simulação; A: Animal; CMS NRC: Consumo de Matéria Seca no Dairy NRC; CMS BD: Consumo de Matéria Seca no Balanced Diet; BPDR NRC: Balanço de PDR no Dairy NRC; BPDR BD: Balanço de PDR no Balanced Diet; BPM NRC: Balanço de Proteína Metabolizável no Dairy NRC; BPM NRC: Balanço de Proteína Metabolizável no Balanced Diet; BEL NRC: Balanço de Energia Líquida no Dairy NRC; BEL BD: Balanço de Energia Líquida no Balanced Diet.
Fonte: Autor (2016).
Tabela 7 - Erro das estimativas do consumo de matéria seca e dos balanços de PDR, PM e EL
	Variável
	Desvio
	Probabilidade
	Consumo de MS
	-0,01
	±0,005
	<0.001
	Balanço de PDR
	-58,08
	±166,98
	0,102
	Balanço de PM
	-45,96
	±71,47
	0,005
	Balanço de EL
	1,05
	±4,628
	0,278
	MS: matéria seca; PDR: proteína degradável no rúmen; PM: proteína metabolizável e 
EL: energia líquida.
Fonte: Autor (2016).
O Balanced Diet apresentou uma estimativa de Consumo de Matéria Seca 0,01 kg/dia menor que o Dairy NRC (Tabela 6), com uma reduzida variação (S=0,005) (Tabela 7). As previsões aproximadas dos Balanços de PDR, de Proteína Metabolizável e de Energia Líquida apresentaram estimativas de erros com maiores variações, uma vez que, dependem de uma série de estimativas. 
As previsões aproximadas do balanço de PM foram reduzidas no Balanced Diet, pois este balanço teve um resultado igual à zero em todas as previsões no Balanced Diet e valores negativos em algumas previsões no Dairy NRC (Tabela 6). Ou seja, o Balanced Diet subestima a exigência de PM. Na tabela 6, na simulação 1, com o animal I, por exemplo, o Balanced Diet obteve balanço de PM igual a zero e o Dairy NRC apontou uma deficiência de 118 g/dia neste balanço.
As estimativas do balanço de PDR e de EL não foram afetadas em relação ao Dairy NRC. O balanço de PDR, no Balanced Diet, quase que na totalidade das simulações atingiu o valor estipulado pelo usuário (50, conforme Tabela 6) atendendo as condições da restrição deste balanço no cálculo da dieta. A variação do erro destas últimas estimativas foi significativamente maior, uma vez que, os valores atingidos no Balanced Diet e Dairy NRC sempre deram resultados diferentes e com maior variação (Tabela 7). 
Um dos motivos relacionados aos erros obtidos no Balanced Diet está relacionado aos dados de entrada que acabam sendo um palpite do usuário e, às vezes, o palpite é bom e acarreta em um erro pequeno ou o palpite é ruim e o erro se torna maior.
4.3. Avaliação do Sistema
	Ao término do desenvolvimento do sistema foi aplicado um questionário que pode avaliar a usabilidade e satisfação do mesmo. Tal questionário foi elaborado seguindo os princípios de usabilidade de Nielsen, ou seja, as heurísticas de Nielsen que, após a análise de fatores observados de um conjunto de 249 problemas de usabilidade, Nielsen definiu um conjunto contendo dez heurísticas de usabilidade que visam abordar uma maior extensão dos principais problemas de usabilidade de uma interface (ANDRADE, 2007). As dez heurísticas são:
1. Visibilidade do status do sistema;
2. Equivalência entre o sistema e o mundo real;
3. Controle do usuário e liberdade;
4. Consistência e padrões;
5. Prevenção de erro;
6. Reconhecer ao invés de relembrar;
7. Flexibilidade e eficiência de uso;
8. Estética e design minimalista;
9. Auxílio ao usuário para reconhecer, diagnosticar e recuperar-se de erro;
10. Ajuda e documentação.
	Participaram do teste, oito especialistas em nutrição animal. Eles alegaram, nas perguntas de “Satisfação do Usuário”, que o sistema proporciona feedback, avisa quando ocorrem erros, predomina a simplicidade, a ajuda é construtiva e a linguagem utilizada é clara e concisa. Os avaliadores declararam que o sistema atingiu as expectativas. Recomendariam este sistema a colegas de trabalho, não sendo um desperdício de tempo utilizar o sistema. Os processos do sistema são úteis e as informações obtidas facilitam o trabalho. Eles se sentem confortáveis a utilizar o sistema e gostariam de utilizá-lo diariamente (figura 26).
	Aplicado o questionário de usabilidade, foram obtidos dados quantitativos – número de aprovação em relação a cada uma das heurísticas utilizadas no questionário. No gráfico da figura 22 é mostrado o resultado obtido.
Figura 22 - Gráfico da média do número de votos por heurística
Fonte: Autor (2016).
	Nota-se que, no gráfico, a heurística que teve o maior número de usuários com avaliações positivas foi a “Relação entre o sistema e o mundo real”. A heurística que teve o maior número de usuários com avaliações negativas foi a “Ajuda ao reconhecimento, diagnóstico e correção de erros”. No restante das heurísticas do questionário de usabilidade, podemos verificar que a maioria das heurísticas são classificadas como “muito boa” e/ou “boa”, o que equivale a dizer que estas heurísticas se aproximam de um nível ideal de aceitação do usuário.
	Pode-se perceber, analisando a respostas do questionário, que as piores avaliações estavam relacionadas à hospedagem do sistema. Por estar hospedado em domínio gratuito, o servidor possui instabilidade e, por essa situação, o sistema pode ter sido mal avaliado.
	
5. Considerações Finais
5.1. Respondendo aos objetivos e contribuições do trabalho
	Foi criado um sistema open source (gratuito) que pode ser utilizado por estudantes, nutricionistas, pequenos e médios produtores de leite e outras pessoas que venham a realizar essa tarefa, facilitando assim a formulação de dietas que supram as exigências de manutenção para cada animal do rebanho, especificamente a um custo mínimo, aumentando assim, os lucros na atividade de produção de leite.
	A ferramenta traz a habilidade de prever, balancear, testar ou determinar as alterações nas dietas propostas, possibilitando assim, às pessoas envolvidas com o manejo nutricional dos bovinos, vantagens diante o processo de tomada de decisão tornando as chances de sucesso em seu trabalho maiores do que os profissionais que não fazem nenhum tipo de predição, visto que, quantidades estáveis e adequadas de nutrientes são essenciais para a produção de leite.
	Para facilitar as tarefas de previsão, balanceamento e testes, existe a necessidade de utilização de métodos computacionais, tendo em vista que, as dietas elaboradas manualmente (matematicamente) são cansativas e delongadas, possuem alto custo e podem não fornecer resultados adequados. Com o intuito de ajudar nessas tarefas, foi criado o sistema Balanced Diet para o balanceamento da dieta dos bovinos leiteiros, facilitando, desta forma, todas as operações envolvidas no manejo alimentar dos animais.
	Através dos resultados das heurísticas, obtidos pelo questionário de usabilidade, pode-se verificar que todas as heurísticas obtiveram ótima classificação, o que equivale a dizer que o sistema tem um nível ideal de aceitação do usuário. 
	A validação do sistema também apresentou um nível aceitável no valor dos erros, enquanto validado como o softwarede validação de dietas Dairy NRC.
5.2. Propostas de Trabalhos Futuros
	
	A integração a um banco de dados nacional com a composição química dos alimentos é uma das implementações futuras a incorporar neste sistema, como por exemplo, o CQBAL 3.0[footnoteRef:11], seria uma solução para isso. [11: Disponível em: http://cqbal.agropecuaria.ws/webcqbal/index.php] 
	Outra implementação futura é refinar as fórmulas já utilizadas e acrescentar novas restrições ao sistema, como por exemplo: as restrições de alimentos (alguns alimentos tem limitações em função de fatores anti-nutricionais) e as restrições dos minerais consumidos por bovinos leiteiros. Consequentemente, os erros encontrados nos testes irão diminuir e se tornará necessário o aumento no conjunto de testes. 
	Outra proposta de trabalho futuro é fazer as adequações necessárias para que o sistema possua acessibilidade para ser utilizado por pessoas que possuem alguma deficiência.
	Utilizando-se de algoritmos de clustering, também existe a possibilidade de calcular dietas para grupos de animais com características similares.
6. Referências Bibliográficas
ANDRADE, Antonio Luis Lordelo. Usabilidade de Interfaces Web: Avaliação Heurística no Jornalismo On-line. Rio de Janeiro: E-papers, 2007. 142 p.
ANDRADE, Eduardo Leopoldino de. Introdução à Pesquisa Operacional: Métodos e Modelos para Análise de Decisões. 4. ed. Rio de Janeiro: Ltc, 2011. 202 p. 
ANDRIGUETTO, José Milton et al. Nutrição Animal. As bases e os fundamentos da nutrição animal. Os alimentos. São Paulo: Nobel, 2002. 396 p. 
ARENALES, Marcos et al. Pesquisa Operacional. Rio de Janeiro: Elsevier, 2007. 524p. 
ASSOCIAÇÃO BRASILEIRA DOS PRODUTORES DE GIROLANDO (Minas Gerais). Brasil deve subir no ranking mundial de produção de leite em 2014. Uberaba: Girolando, 2014. Disponível em: <http://www.girolando.com.br/index.php?paginasSite/noticia,37,2033>. Acesso em: 13 maio 2015. 
AVILA, Valdir Silveira de et al. Sistema de Produção de Frangos de Corte. Concórdia: Embrapa, 2003. Disponível em: <http://sistemasdeproducao.cnptia.embrapa.br/FontesHTML/Ave/ProducaodeFrangodeCorte/Glossario.htm>. Acesso em: 12 maio 2015. 
 
BELFIORE, Patrícia; FÁVERO, Luiz Paulo. Pesquisa Operacional para Cursos de Administração, Contabilidade e Economia. Rio de Janeiro: Elsevier, 2012. 376p. 
BRITO, Edivaldo. Saiba o que é GNU e qual seu papel no movimento do software livre. 2012. Disponível em: <http://www.techtudo.com.br/artigos/noticia/2012/12/saiba-o-que-e-gnu-e-qual-seu-papel-no-movimento-do-software-livre.html>. Acesso em: 24 nov. 2015.
BRUNO, Odemir Martinez; ESTROZI, Leandro Farias; NETO, João E. S. Batista. Programando para a Internet com PHP. Rio de Janeiro: Brasport, 2010. 332p. 
CAIXETA-FILHO, José Vicente. Pesquisa Operacional: Técnicas de Otimização Aplicadas a Sistemas Agroindustriais. 2. ed. São Paulo: Atlas, 2011. 176 p. 
CARVALHO, Adriano dos Reis. Programação Linear Aplicada ao Balanceamento de Dieta de Bovinos Leiteiros. Muzambinho, 2013. 49 p.
CARVALHO, Limirio de Almeida et al. Sistema de Produção de Leite (Cerrado). Santo Antônio de Goiás: Embrapa, 2002. Disponível em: <http://sistemasdeproducao.cnptia.embrapa.br/FontesHTML/Leite/LeiteCerrado/introducao.html>. Acesso em: 3 mar. 2015. 
 
GOLDBARG, Marco Cesar; LUNA, Henrique Pacca L. Otimização Combinatória e Programação Linear: modelos e algoritmos. 2. ed. Rio de Janeiro: Elsevier, 2005. 518 p. 
 
INTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA - IBGE. Pesquisa Trimestral do Leite. Disponível em: < http://www.ibge.gov.br/home/estatistica/indicadores/agropecuaria/producaoagropecuaria/abate-leite-couro-ovos_201403_2.shtm>. Acesso em: 21 mar. 2015. 
JUNG, C. F. Metodologia para pesquisa & desenvolvimento: aplicada a novas tecnologias, produtos e processos. Rio de Janeiro/RJ: Axcel Books do Brasil Editora, 2004.
LOBO, Edson Junior Rodrigues. Curso prático de MySQL. São Paulo: Digerati Books, 2008. 128 p. 
 
NATIONAL RESEARCH CONCIL - NRC. Nutrient Requirements of Dairy Cattle. 7. ed. National Academy of Science, National Academy Press, Washington, D.C., 2001. 381 p. 
MARCONI, M. A.; LAKATOS, E.M. Fundamentos de metodologia científica. São Paulo/SP: Editora Atlas, 2003.
 
SALMAN, Ana Karina Dias; OSMARI, Elisa Köhler; SANTOS, Márcio Gregório Rojas dos. Manual Prático para formulação de ração para vacas leiteiras. Porto Velho: Embrapa Rondônia, 2011. 24 p. Disponível em: <http://ainfo.cnptia.embrapa.br/digital/bitstream/item/66779/1/doc145-vacasleiteiras-1.pdf>. Acesso em: 03 mar. 2015. 
UPTON, David. Codeigniter for Rapid Php Application Development From Technologies to Solutions. Birmingham: Packt Publishing Ltd, 2007. 261 p. 
VILELA, Duarte. Chefe Geral da Embrapa Gado de Leite (Ed.). Sistemas de produção de leite para diferentes regiões do Brasil. Juiz de Fora, 2011. Disponível em: <http://www.cnpgl.embrapa.br/sistemaproducao/>. Acesso em: 21 mar. 2015. 
ANEXOS
Anexo A
PROBLEMA RESOLVIDO VIA SIMPLEX
Para mostrar como funciona o Simplex, veremos um problema fictício de maximização com os seguintes dados:
Função Objetivo: 		Z = 3x1 + 5x2
Restrições Técnicas: 	2x1 + 4x2 ≤ 10
				6x1 + x2 ≤ 20
				x1 – x2 ≤ 30
Restrições de não negatividade: x1≥ 0, x2 ≥ 0
	A primeira coisa a fazer é passar a função objetivo para o primeiro membro ficando: Z-3x1 - 5x2 = 0. Depois devemos inserir as variáveis de folga nas restrições técnicas:
		2x1 + 4x2+ xf1 ≤ 10
		6x1 + x2 + xf2 ≤ 20
		x1 – x2 + xf3 ≤ 30
	Agora é a hora de montar o quadro de cálculos conforme a Tabela 8. Podemos observar que a coluna B é a coluna dos termos independentes. Na primeira linha, incluir os coeficientes da função objetivo transformada e nas outras linhas está os coeficientes de todas as variáveis com seus respectivos sinais e termos independentes.
Tabela 8 - Quadro de cálculos
	Z
	x1
	x2
	xf1
	xf2
	xf3
	B
	1
	-3
	-5
	0
	0
	0
	0
	0
	2
	4
	1
	0
	0
	10
	0
	6
	1
	0
	1
	0
	20
	0
	1
	-1
	0
	0
	1
	30
Fonte: Autor (2016).
Agora, seguindo o algoritmo Simplex, identifica se a variável com o maior valor negativo na 1ª linha. Neste caso é a variável x2, com valor -5, indicado pela Tabela 9. Marcamos toda essa coluna, para futuramente, encontrar o elemento pivô.
Tabela 9 - Identificação da variável com maior valor negativo na função objetivo (primeira iteração)
	Z
	x1
	x2
	xf1
	xf2
	xf3
	B
	1
	-3
	-5
	0
	0
	0
	0
	0
	2
	4
	1
	0
	0
	10
	0
	6
	1
	0
	1
	0
	20
	0
	1
	-1
	0
	0
	1
	30
Fonte: Autor (2016).
O próximo passo é dividir os termos independentes pelos correspondentes elementos da coluna da variável escolhida anteriormente (somente devem ser dividas as linhas que possuem termos independentes positivos). O menor quociente indica a linha pivô.
10 ÷ 4 = 2,5
20 ÷ 1 = 20
30 ÷ (-1) = -30
A linha pivô é, portanto, a segunda linha e o elemento pivô é a interseção entre a linha e coluna pivô. Neste caso é o número 4, como pode ser identificado na Tabela 10.
Tabela 10 - Identificação da coluna, linha e elemento pivô da primeira iteração
	Z
	x1
	x2
	xf1
	xf2
	xf3
	B
	1
	-3
	-5
	0
	0
	0
	0
	0
	2
	4
	1
	0
	0
	10
	0
	6
	1
	0
	1
	0
	20
	0
	1
	-1
	0
	0
	1
	30
Fonte: Autor (2016).
O passo seguinte é dividir os elementos da linha pivô pelo elemento pivô, criando a nova linha pivô (NLP). 
	0
	2
	4
	1
	0
	0
	10
	(Linha pivô ÷ pelo elemento pivô(4))
	0
	0,5
	1
	0,25
	0
	0
	2,5
	(NLP)
O último passo é, para todas as outras linhas, exceto a pivô, calcular a nova linha, multiplicando se a NLP com a variável com sinal oposto correspondente à linha calculada na coluna pivô e mais a linha correspondente. Depois, com todos os cálculos realizados, montar o novo quadro. Neste passo devemos realizar o cálculo para as linhas 1, 3 e 4, mostrado abaixo.
1ª linha:
	NLP
	0
	0,5
	1
	0,25
	0
	0
	2,5
	
	* (5)
	0
	2,5
	5
	1,25
	0
	0
	12,5
	
	+ 1ª linha
	1
	-3
	-5
	0
	0
	0
	0
	 +
	
	1
	-0,5
	0
	1,25
	0
	0
	12,5
	(Nova 1ª linha)
3ª linha:
	NLP
	0
	0,5
	1
	0,25
	0
	0
	2,5
	
	* (-1)
	0
	-0,5
	-1
	-0,25
	0
	0
	-2,5
	
	+ 3ª

Continue navegando