Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE ESTADUAL PAULISTA FACULDADE DE MEDICINA VETERINÁRIA E ZOOTECNIA DEPARTAMENTO DE MELHORAMENTO E NUTRIÇÃO ANIMAL CÂMPUS DE BOTUCATU FORMULAÇÃO DE RAÇÕES PROFESSOR: ANTONIO CELSO PEZZATO BOTUCATU 2003 FUNDAMENTOS TEÓRICOS PARA FORMULAÇÃO DE RAÇÕES 1. INTRODUÇÃO Em uma economia de livre mercado, para competir de forma eficiente é necessário ter os custo de produção mínimos possíveis, de tal maneira, que se possam ter preços dos produtos competitivos no mercado, assegurando uma adequada rentabilidade de retorno. A importância de contar com rações devidamente balanceada de mínimo custo torna de grande interesse se considerarmos que os custos de alimentação constituem normalmente entre 60 e 70% dos custos de produção em uma exploração animal. A formulação de rações de mínimo custo por computador tem permitido entre outras coisas, as seguintes vantagens: Formulação rápida e precisa de rações balanceadas e de custo mínimo; Diminuição nos custos de alimentação, produção com conseqüente aumento nos lucros; Avaliação de sensibilidade econômica das rações antes das alterações dos preços dos ingredientes; Apoiar decisões comerciais ante as alternativas de vender ou incluir na ração de uma matéria prima de produção própria ou excedente; Manter os custos de alimentação em valores mínimos ante as trocas de preços dos componentes, mudando as fórmulas rapidamente, quando necessário. 2. PROGRAMAÇÃO LINEAR A formulação de rações de custo mínimo se realiza através da determinação de um Modelo Nutricional de Programação Linear (PL) em que se incorporam as matérias primas (ingredientes) disponíveis para formular, as restrições nutritivas que deve ter a dieta resultante, as restrições de quantidade máxima e/ou mínima de alguns componentes se isso for necessário. Além disso, é necessário fornecer os preços dos componentes disponíveis e uma restrição de consistência de quantidade de nutrientes por unidade de medida, que pode ser uma unidade (1 kg ou 1 tonelada) ou em 100% ou ainda um valor, em kg, previamente determinado, em função do peso do animal, que corresponderia o consumo diário de matéria seca desse grupo de animais. Os problemas de programação linear se referem ao uso eficiente de recursos limitados, maximizando ou minimizando o objetivo desejado. Historicamente o problema geral de programação linear (PPL) foi desenvolvido pela primeira vez em 1947 por George H. Dantzig e colaboradores do Departamento da Força Aérea dos Estados Unidos. Nesse ano, o grupo mencionado se encarregou da possibilidade de aplicar técnicas matemáticas à programação militar e os problemas de planificação. Este estudo levou Dantzig a propor que a inter-relação entre as atividades de uma organização pode ser definida como um modelo de Programação Linear. Posteriormente se descobriu que também se pode aplicar esse modelo em outras áreas, como na agricultura, industria química, comunicações, industria do ferro e aço, industria de papelaria, de alimentos, análises econômicas, programação de produção e controle de inventários, projetos de estruturas, problemas de distribuição e inúmeros outros. 3. PLANEJAMENTO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR 3.1. MODELO DE PROGRAMAÇÃO LINEAR Matematicamente a programação linear consiste em otimizar uma função objetivo (FO) sujeita a uma série de condições ou restrições ou ainda, contrastes. O esquema de um problema geral de programação linear é o seguinte: Otimizar Z (Função Objetivo) Z = C1 * X1 + C2 * X2 + ... Cn * Xm Onde: Z = função objetivo X1, X2, ... Xn são as variáveis do problema; C1, C2, ... Cm são os coeficientes técnicos da função objetivo a otimizar (no caso específico, custos dos ingredientes) Sujeito às seguintes restrições: Y1 A11 * X1 + A21 * X2 + ... + An1 * Xn = B1 Y2 A12 * X1 + A22 * X2 + ... + An2 * Xn = B2 -- -- -- -- ---- = -- -- Ym A1m*X1 + A2m* X2 + ... + Amn * Xn = Bm Onde: Y1, Y2, ... Ym: são as restrições impostas ao sistema (energia, proteína, quantidade, e outros) A11, A12, A21, A22, ... Amn: são os coeficientes técnicos da matriz (composição química, por exemplo) X1, X2, ... Xn: são as variáveis do sistema (ingredientes) B1, B2, .. Bm: são os valores das restrições X1, X2, ...Xn = 0 condição fundamental para as variáveis serem maiores ou iguais a zero Têm-se vários procedimentos matemáticos para resolver problemas de programação linear, sendo que o de maior uso, por sua potencialidade e praticidade, é o método Simplex. 3.2. MÉTODO SIMPLEX É uma seqüência de cálculos iterativos e sua aplicação prática se faz em problemas de n variáveis (X) e m restrições (Y). O problema resolvido se chama de Solução Primal e em resumo tem- se o seguinte: Delineamento de uma solução base; Busca de uma solução viável; Se existe uma solução viável, continua para o próximo passo; Se não existe uma solução possível, termina o cálculo; Na busca de uma solução ótima, há duas possibilidades: o Existe uma solução ótima mostra os resultados o Não existe limite para uma solução ótima busca infinitamente a solução. Os problemas que não têm solução, basicamente se enquadram em dois tipos: Não existe solução possível: Ocorre quando uma ou mais restrição exigida não podem ser satisfeita ou as restrições são incompatíveis entre si, como, por exemplo, impor um limite máximo de incorporação de um determinado ingrediente na ração em 5% quando o limite Maximo do mesmo seria de 10%. Nesses casos de solução impossível, quando uma ou mais restrições não foram satisfeitas, deve-se analisar as restrições solicitadas e os componentes que compõem o sistema, incorporando novos ingredientes ou trocando e/ou modificando as restrições impostas. Não existe limite para uma solução ótima: Neste caso as restrições impostas são tais que a solução não converge a nenhum ponto, encontrando em cada iteração, cada vez valores menores (em caso de minimização) ou valores cada vez maiores (em caso de maximização). Um exemplo deste caso é a maximizar dietas com todas as restrições com condições de limite Maximo, sempre se encontrará uma nova solução que satisfará todas as condições nutritivas com uma função objetivo cada vez maior. Esse tipo de erro de sistema leva o programa encontrar iterações infinitas e pode-se evitar este problema desenhando um modelo convergente, ou seja, deve-se colocar ao menos uma restrição condicionada no sentido contrário às demais. 3.3. PROBLEMA DUAL Ao inverter a matriz do problema simplex, esta transforma as restrições anteriores nos coeficientes da função objetivo e a função objetivo anterior se transforma em restrições, e desta forma as condições mínimas agora se transformam em máximas e troca o sentido da otimização: a primal é minimizada e a dual, maximizada. Após todas essas mudanças, o problema indica os custos relativos das restrições (nutrientes) limitantes, ou seja, as condições que se satisfazem em quantidade do limite exigido de tal maneira que qualquer variação nessas restrições causa uma variação no valor da função objetivo e provavelmente na composição da ração. Os resultados obtidos sevem como um guia para se obter uma ração ainda mais econômica, e de se conhecer o valor dessas restrições limitantes. Com essas informações adicionais pode-se buscar outros componentes de substituição para serem incluídos no sistema de tal forma, que tenham valores em seus coeficientes técnicos maiores que os já incluídos ou procurar incluir outros suplementos e/ou modificar o sistema, se possível. 3.4. ANÁLISE DE SENSIBILIDADE É uma informação adicional que se obtém com o algoritmo simplex, o qual permite medir a resposta do custo e composição da ração otimizada antes da mudança dos custos de seus componentes. Matematicamente consiste na determinação dos limites entre os quais pode-se variar a direção do hiper-plano da função econômica (Função Objetivo) que o hiper-poliedro das restrições do problema se mantém fixo. A resposta da análise de sensibilidade consiste em apresentar os cálculos doscoeficientes de variação Maximo ou Mínimo a partir da tabela simplex otimizada para cada componente a fim de se conhecer entre que preços se mantém a solução de ótimo. Se algum dos preços ultrapassar os limites da análise de sensibilidade para aquele ingrediente, já não é possível uma solução ótima com os mesmos valores obtidos, tornando necessário reformular os dados para se obter uma nova solução de mínimo custo. A análise de sensibilidade serve para um estudo de tendência de preços e tem como objetivo dar ao formulador condições de fazer um plano de soluções a médio e longo prazo. Outra aplicação da análise de sensibilidade é a obtenção de um mapa de sensibilidade (gráficos, em %, do componente Z da ração x preço do componente Z ou valor da ração x preço do componente Z) o qual nos permite conhecer em nosso sistema nutricional se é que dependemos de matérias primas críticas, as que se faltarem ante algum fato imprevisto, não seriam substituídas. Ou seja, permite saber onde está fraco, sensível, o nosso sistema montado e permite buscar alternativas para reforça-lo. 4. PLANEJAMENTO DE UM MODELO DE FORMULAÇÃO Trata-se de se fazer uma abstração matemática de um problema nutricional para uma determinada espécie e finalidade, de maneira que nos permita gerar um sistema, escrevendo-o por meio de fórmulas. Atualmente através de programas computacionais o problema matemático é transparente para o usuário, já que basta definir o modelo e introduzi-lo no computador para se obter os resultados no vídeo ou impresso no papel por impressora. Os passos iniciais para se montar um sistema são os seguintes: Obter todas as informações das matérias primas escolhidas. Pesquisar as recomendações das exigências nutricionais para cada fase da criação. Estruturar o modelo matemático. Balancear a ração gerando a formula do problema. Validação das formulas. Os três primeiros passos desta seqüência são a essência da formulação da ração e os dois últimos são obtidos com o tempo, com contínua aplicação do modelo na prática, já que os valores devem representar a realidade e por isso o modelo deve ser continuamente melhorado com experiências adquiridas pelo seu uso, sendo cada vez mais ajustado ao seu propósito particular. 4.1. INFORMAÇÕES DAS MATÉRIAS PRIMAS Deve-se identificar todas as matérias primas disponíveis no mercado, determinando o custo real, os limites de utilização, a procedência, a composição química e o abastecimento. Custo real: deve-se determinar o custo real de cada ingrediente, incluindo o custo de transporte, processamento prévio, armazenamento, embalagens, custo por kg de MS. Limites de utilização: pesquisar todas informações na literatura quando não tiver valores experimentais de uso na propriedade ou região, dos seus limites máximos de incorporação e a presença de fatores antinutricionais nessas matérias primas. Procedência: é fundamental conhecer idoneidade dos fornecedores das matérias primas, pois produtos mal armazenados ou processados podem ser contaminados por fungos (micotoxinas) e insetos, que alteram sua qualidade. Composição química: a composição química se relaciona com os itens anteriores e com a matéria prima em si. Deve-se contar com um maior numero possível de informações sobre a composição química das matérias primas, e se possível a analise laboratorial de cada lote fornecido, para se ter o controle total do produto final balanceado. Abastecimento: é importante levar em consideração esse item, pois não é prático formular rações sem ter certeza de seu abastecimento em quantidade suficiente por um determinado tempo e que os produtos fornecidos sejam sempre de qualidade constante, sem adulterações. 4.2. RECOMENDAÇÕES NUTRITIVAS Deve-se fazer uma revisão bibliográfica completa, de fontes confiáveis, e de informações práticas, para se estabelecer todas restrições nutritivas. Estas informações são importantes, pois determinarão a fórmula final da ração. Deve-se trabalhar com dados práticos de campo, ou de referencias confiáveis, recomendados pelos Conselhos ou Comitês de Pesquisas Nacionais ou Internacionais. O recomendável e desejável é conhecer as recomendações especificas da espécie, para uma determinada finalidade, pois dessa maneira a formula obtida não conteria nutrientes em excesso, que encareceria o custo final da ração ou com défice de nutrientes, que comprometeria o desempenho final da criação. 4.3. ESTRUTURA DO MODELO MATEMÁTICO Nesta etapa, com as informações obtidas seleciona-se os parâmetros a considerar, levando-se em consideração a definição do modelo. Estabelecem-se as restrições nutritivas, condições de quantidade total e algumas outras condições necessárias para o funcionamento lógico do modelo. Além disso, deve-se verificar a consistência das unidades, escolhendo as unidades para cada restrição, onde a unidade utilizada numa restrição deve ser a mesma em toda equação, ou seja, kg de nutriente/kg de ração, ou g de nutriente/kg de ração para todos os ingredientes dessa restrição. O valor da restrição limitante deve ser a que se deseja obter, também por kg de ração. Se desejar expressar esse valor em %, deve multiplicar este valor por 100. O ideal para esta fase é transpor o modelo da matriz para uma planilha, onde se pode ver todos os dados selecionados, analisá-los antes de serem digitados no computador. 4.4. GERAÇÃO DE FÓRMULAS Esta etapa é executada no computador com um programa de programação linear, o qual calcula a mistura dos componentes com o algoritmo simplex, obtendo-se os custos marginais das restrições limitantes com os valores duais e a analise de sensibilidade econômica. Se não se obtiver uma solução viável, possível, analisa-se o modelo proposto, as restrições impostas, e efetuam-se possíveis alterações pertinentes para se obter uma nova solução factível. 4.5. VALIDAÇÃO DAS FÓRMULAS Todo modelo processado pelo algoritmo simplex é teórico, logo os resultados obtidos devem ser analisados por um nutricionista a fim de qualificar a solução encontrada, se aplicável ou não, No caso de não ser adequado seu uso na prática, deve-se corrigir o modelo, introduzindo ou retirando restrições, alterando valores das restrições, de tal maneira a produzir um resultado factível e de uso adequado na prática. Por outro lado, analisando a solução obtida e as restrições limitantes, podem-se verificar as possíveis trocas nas restrições para se obter um custo final ainda menor. MODELAGEM DE PLANILHA 1. INTRODUÇÃO As equações lineares são utilizadas para o balanceamento de rações, pois estes tipos de equações têm duas propriedades que podem ser aplicadas na mistura de dois ou mais ingredientes: proporcionalidade e aditividade. Desta forma, ao misturarmos 1kg de milho, com 10% de proteína, com 1kg de farelo de soja com 50% de proteína, os 2kg da mistura terá 30% de proteína, ou seja: (10 + 50)/2 = 30. Na montagem de uma planilha para resolução de um problema de programação linear, é necessário distinguir dois tipos de equações matemáticas: primeiro, uma função ou equação de custo, que é a função objetivo, pois o que se busca é uma mistura que satisfaça todas as exigências e restrições nutricionais por um menor custo, e em segundo, é necessário especificar todas as restrições correspondentes às exigências nutricionais. Exemplo: modelagem de uma planilha para balanceamento de uma ração de frangos de corte inicial (1-21 dias de idade). a) Exigências nutricionais/kg de ração: Nutrientes Mínimo Máximo Proteína 17 - Energia metabolizável 3000 - b) Alimentos disponíveis: Ingredientes R$/kg PB, % EM, kcal/kg Milho 0,18 10 3440 Farelo de soja 0,42 48 2440 c) Limitação de alimentos: Farelo de soja: Máximo de 0.30kg/ kg de ração Identificação das variáveis: Quantidade de milho = X1 Quantidade de soja = X2 Função Objetivo: Custo mínimo Z Minimizar o custo de Z = 0,18 * X1 + 0,42 * X2 R$/kg kg R$/kg kg (Na função objetivo, cancelando-se R$/kg e kg, tem-se que Z será expresso em R$) Restrições: a. Quantidade: kgkgkg Q=X1+X121 Onde Q é a quantidade de ração que será balanceada e neste exemplo Q=100, portanto: 100=X1+X1 21 b. Nutrientes: kg%kg%kg% Q21X48+X10:INProteína/M 21 kg kg kcal kg kg kcal kg kg kcal Q3000X2440+X3440:NEnergia/MI 21 Portanto: 3000X24,40+X34,40 ou300000X2440+X3440 21X0,48+X0,10 ou2100X48,00+X0,001 21 21 21 21 c. Ingredientes: kg kg kgkg Q0,30X1:sojadeFarelo 2 Portanto: 30X1 ou1000,30X1 2 2 Todas essas inequações são matematicamente iguais. 2. MODELO COMPLETO Neste modelo será introduzido um novo conceito na modelagem de uma planilha para o balanceamento de ração, que é a introdução de uma variável de transferência ou contábil, que tem custo zero e não entra na quantidade final da ração. Minimizar: Z = 0,18 * X1 + 0,42 * X2 Sujeito a: 10,00 * X1 + 48,00 * X2 21,00 * Q 3440 * X1 + 2440 * X2 3000 * Q X2 0,30 * Q X1 + X2 = 100 * Q X1 0 X2 0 Agora será utilizado o conceito de variável de transferência para se estabelecer a relação Energia/Proteína. Restrição adicional: EM total/PB total 130 EM total/PB total 135 ou 135 EM total/PB total 130, ou seja, R 130 R 135 Portanto: R X48+X10 X2440+X3440 totalPB totalEM 21 21 130 X48+X10 X2440+X3440 21 21 135 X48+X10 X2440+X3440 21 21 As duas últimas equações não podem fazer parte do modelo, pois os programas de programação linear só admitem variáveis lineares. Por isso serão criadas novas variáveis para substituir essas relações: EM total: é a quantidade total de energia metabolizável da ração que pode ser escrita matematicamente da seguinte forma: 3440 * X1 + 2440 * X2 = EM tot Para EMtot, que é uma nova variável, a denominaremos de X3, portanto: 3440 * X1 + 2440 * X2 = 1 * X3, ou. 3440 * X1 + 2440 * X2 - 1 * X3 = 0 PB total: analogamente para a quantidade total de proteína da ração, pode-se escrever da seguinte forma: 10,00 * X1 + 48,00 * X2 = PB tot Para PBtot, que também é uma nova variável, será denominada de X4, portanto: 10,00 * X1 + 48,00 * X2 = 1 * X4, ou 10,00 * X1 + 48,00 * X2 - 1 * X4 = 0 X3 e X4 são as variáveis de transferência com custo zero, que foram criadas para viabilizar as variáveis não lineares. Portanto a relação EM/PB poderá ser expressa desta forma: EM/PBmax e EM/PBmin: 0X135-X1 ouX135X1 ou135 X1 X1 :formamesmaDa 0X130-X1 ouX130X1 ou130 X1 X1 43 43 4 3 43 43 4 3 Resumo da planilha completa, com as variáveis contábeis: Minimizar Z = 0,18 * X1 + 0,42 * X2 + 0 * X3 + 0 * X4 (1) Sujeito a: 3440 * X1 + 2440 * X2 - 1 * X3 = 0 (2) 10.00 * X1 + 48.00 * X2 - 1 * X4 = 0 (3) 100*X3 3000*Q (4) 100*X4 21 * Q (5) 100*X2 0.30 * Q (6) 1*X1 + 1*X2 = Q (7) 1*X3 - 135 * X4 0 (8) 1*X3 - 130 * X4 0 (9) Para: X1, X2 , X3, X4 0 INTRODUÇÃO À PROGRAMAÇÃO LINEAR 1.1. O Desenvolvimento da Programação Linear Durante a Segunda Guerra Mundial, um grupo de cientistas foi convocado na Inglaterra para estudar problemas de estratégia e de tática associados com a defesa do país. O objetivo era decidir sobre a utilização mais eficaz de recursos militares limitados. A convocação deste grupo marcou a primeira atividade formal de uma pesquisa operacional. Os resultados positivos conseguidos pela equipe de pesquisa operacional inglesa motivaram os Estados Unidos a iniciarem atividades semelhantes. Apesar de ser creditada à Inglaterra a origem da Pesquisa Operacional, sua propagação deve-se principalmente à equipe de cientistas liderada por George B. Dantzig, dos Estados Unidos, convocados durante a Segunda Guerra Mundial. Ao resultado deste esforço de pesquisa, concluído em 1947, deu-se o nome de Método Simplex. Com o fim da guerra, a utilização de técnicas de pesquisa operacional atraiu o interesse de diversas outras áreas. A natureza dos problemas encontrados é bastante abrangente e complexa, exigindo, portanto uma abordagem que permita reconhecer os múltiplos aspectos envolvidos. Uma característica importante da pesquisa operacional e que facilita o processo de análise e de decisão é a utilização de modelos. Esses modelos permitem a experimentação da solução proposta, ou seja, significa que uma decisão pode ser mais bem avaliada e testada antes de ser efetivamente implementada. A economia obtida e a experiência adquirida pela experimentação justificam a utilização da Pesquisa Operacional em muitas atividades. Com o aumento da velocidade de processamento e quantidade de memória dos computadores atuais, houve um grande progresso na Pesquisa Operacional. Este progresso é devido também à larga utilização de microcomputadores, que se tornaram unidades isoladas dentro de empresas. Isso faz com que os modelos desenvolvidos pelos profissionais de Pesquisa Operacional sejam mais rápidos e versáteis, além de serem também interativos, possibilitando a participação do usuário ao longo do processo de cálculo. 1.2 Modelagem Um modelo é uma representação de um sistema real, que pode já existir ou ser um projeto aguardando execução. No primeiro caso, o modelo pretende reproduzir o funcionamento do sistema, de modo a aumentar sua produtividade. No segundo caso, o modelo é utilizado para definir a estrutura ideal do sistema. A confiabilidade da solução obtida através do modelo depende da validação desse modelo na representação do sistema real e, a validação do modelo é a confirmação de que ele realmente representa o sistema real. A diferença entre a solução real e a solução proposta pelo modelo depende diretamente da precisão do modelo em descrever o comportamento original do sistema. Um problema simples pode ser representado por modelos também simples e de fácil solução. Já problemas mais complexos requerem modelos mais elaborados, cuja solução pode vir a ser bastante complexa. Introdução à Programação Linear 2 1.3. Estrutura de Modelos Matemáticos Em um modelo matemático, são incluídos três conjuntos principais de elementos: 1. Variáveis de decisão e parâmetros: variáveis de decisão são as incógnitas a serem determinadas pela solução do modelo e os parâmetros são valores fixos no problema; 2. Restrições: de modo a levar em conta as limitações físicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possíveis (ou viáveis); 3. Função objetivo: é uma função matemática que define a qualidade da solução em função das variáveis de decisão. Para melhor ilustrar o conjunto acima, considere-se o seguinte exemplo: Uma empresa de ração canina produz dois tipos de rações: Tobi e Rex. Para a manufatura dessas rações são utilizados cereais e carne. Sabe-se que: A ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg de cereais; O pacote de ração Tobi custa R$ 20,00 e o pacote de ração Rex custa, R$ 30,00; O kg de carne custa R$ 4,00 e o kg de cereais custa R$ 1,00; Estão disponíveis por mês 10.000 kg de carne e 30.000 kg de cereais. Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. Neste problema as variáveis de decisão são as quantidades de ração de cada tipo a serem produzidas. Os parâmetros fornecidos são os preços unitários de compra e venda, além das quantidades de carne e cereais utilizadas em cada tipo de ração e as restrições são os limites de carne e cereais e, finalmente, a função objetivo é uma função matemática que determine o lucro em função das variáveis de decisão e que deve ser maximizada. 1.4. Técnicas Matemáticas em Pesquisa Operacional A formulação do modelo depende diretamente do sistema a ser representado. A função objetivo e as funções de restrições podem ser lineares ou não-lineares; as variáveis de decisão podem ser contínuas ou discretas (por exemplo, inteiras) e os parâmetros podem ser determinísticos ou probabilísticos. O resultado dessa diversidade de representações de sistemas é o desenvolvimento de diversas técnicas de otimização, de modo a resolver cada tipode modelo existente. Estas técnicas incluem, principalmente: programação linear, programação inteira, programação dinâmica, programação estocástica e programação não-linear. A programação linear é utilizada para analisar modelos onde as restrições e a função objetivo são lineares; a programação inteira se aplica aos modelos que possuem variáveis inteiras (ou discretas); a programação dinâmica é utilizada em modelos onde o problema completo pode ser Introdução à Programação Linear 3 decomposto em subproblemas menores; a programação estocástica é aplicada a uma classe especial de modelos onde os parâmetros são descritos por funções de probabilidade; e finalmente, a programação não-linear é utilizada em modelos contendo funções não-lineares. Uma característica presente em quase todas as técnicas de programação matemática é que a solução ótima do problema não pode ser obtida em um único passo, devendo ser obtida iterativamente. É escolhida uma solução inicial (que geralmente não é a solução ótima). Um algoritmo é especificado para determinar, a partir desta, uma nova solução, que geralmente é superior à anterior. Este passo é repetido até que a solução ótima seja alcançada (supondo que ela existe). 1.5. Fases do Estudo de Pesquisa Operacional Um estudo de pesquisa operacional geralmente envolve as seguintes fases: 1. Definição do problema; 2. Construção do modelo; 3. Solução do modelo; 4. Validação do modelo; 5. Implementação da solução. Apesar da seqüência acima não ser rígida, ela indica as principais etapas a serem vencidas. A seguir, é apresentado um resumo da cada uma das fases. 1.5.1. Definição do problema A definição do problema baseia-se em três aspectos principais: Descrição exata dos objetivos do estudo; Identificação das alternativas de decisão existentes; Reconhecimento das limitações, restrições e exigências do sistema. A descrição dos objetivos é uma das atividades mais importantes em todo o processo do estudo, pois a partir dela é que o modelo é concebido. Da mesma forma, é essencial que as alternativas de decisão e as limitações existentes sejam todas explicitadas, para que as soluções obtidas ao final do processo sejam válidas e aceitáveis. 1.5.2. Construção do modelo A escolha apropriada do modelo é fundamental para a qualidade da solução fornecida. Se o modelo elaborado tem a forma de um modelo conhecido, a solução pode ser obtida através de métodos matemáticos convencionais. Por outro lado, se as relações matemáticas são muito complexas, talvez se faça necessária a utilização de combinações de metodologias. 1.5.3. Solução do modelo O objetivo desta fase é encontrar uma solução para o modelo proposto. Ao contrário das outras fases, que não possuem regras fixas, a solução do modelo é baseada geralmente em técnicas matemáticas existentes. No caso de um modelo matemático, a solução é obtida pelo algoritmo mais adequado, em Introdução à Programação Linear 4 termos de rapidez de processamento e precisão da resposta. Isto exige um conhecimento profundo das principais técnicas existentes. A solução obtida neste caso, é dita "solução ótima". 1.5.4. Validação do modelo Nessa altura do processo de solução do problema, é necessário verificar a validade do modelo. Um modelo é válido se, levando-se em conta sua inexatidão em representar o sistema, ele for capaz de fornecer uma previsão aceitável do comportamento do sistema. Um método comum para testar a validade do sistema é analisar seu desempenho com dados passados do sistema e verificar se ele consegue reproduzir o comportamento que o sistema apresentou. É importante observar que este processo de validação não se aplica a sistemas inexistentes, ou seja, em projeto. Nesse caso, a validação é feita pela verificação da correspondência entre os resultados obtidos e algum comportamento esperado do novo sistema. 1.5.5. Implementação da solução Avaliadas as vantagens e a validação da solução obtida, esta deve ser convertida em regras operacionais. A implementação, por ser uma atividade que altera uma situação existente, é uma das etapas críticas do estudo. É conveniente que seja controlada pela equipe responsável, pois, eventualmente, os valores da nova solução, quando levados à prática, podem demonstrar a necessidade de correções nas relações funcionais do modelo conjunto dos possíveis cursos de ação, exigindo a reformulação do modelo em algumas de suas partes. 2. Sistemas de Equações Lineares Tanto as linhas quanto as colunas de uma matriz podem ser tratadas por vetores. Um vetor pode ser considerado uma matriz de uma única linha ou uma única coluna. Quando um vetor é considerado uma matriz com uma única linha é chamado de vetor linha e quando for uma coluna, será chamado de vetor coluna. Um vetor coluna será representado da mesma forma que um vetor convencional, ou seja, uma letra minúscula em negrito (p , q , r). Quando for o caso de um vetor linha, ele será representado como um vetor transposto (pT, qT, rT). Suponha o seguinte sistema de equações lineares: 2x1 – x2 =7 -x1 + 4x2 = 0 Este sistema pode ser representado na forma matricial por: 0 7 2 1 41 12 x x O vetor coluna x é o vetor do sistema de equações lineares e pode ser calculado por: X = A-1 b Introdução à Programação Linear 5 Para a solução de um sistema de equações lineares são propostos alguns métodos. 2.1. Método Algébrico por Adição Pelo menos uma das equações deve ser multiplicada por um escalar real, de modo que a soma das equações, apenas uma das variáveis seja efetivamente a incógnita do problema. Por exemplo: 4 x1 + 8 x2 = 160 6 x1 + 4 x2 = 120 Multiplicando a segunda equação por (-2), temos: 4 x1 + 8 x2 = 160 -12 x1 – 8 x2 = -240 Somando as duas equações, chega-se a: - 8 x1 = -80 Daí calcula-se o facilmente o valor de x1 e, substituindo este valor em qualquer uma das equações tem-se o valor de x2: x1 = 10 x2= 15 2.2. Método Algébrico por Substituição Isola-se uma das variáveis em uma das equações, substituindo-se a relação obtida na outra equação. Por exemplo: 4 x1 +8 x2 = 160 6 x1 + 4 x2 = 120 Manipulando a primeira equação, temos que: 2240 4 281601 xxx Substituindo x, na segunda equação: 6 (40 – 2 x2) + 4 x2 = 120 Resolvendo a equação algebricamente, e aplicando o valor de x2 encontrado na primeira equação, temos: 240 – 12 x2 + 4 x2 = 120 -8 x2 = -120 x2 = 15 e x1 = 10 2.3. Método de Gauss-Jordan Consiste da derivação de um sistema específico de equações lineares que tenha a mesma solução que o sistema original. Este novo sistema deverá ter o formato e uma matriz identidade, o que pode ser obtido através de combinações lineares das equações originais. Assim, pretende-se que: Introdução à Programação Linear 6 4 x1 + 8 x2 = 160 1 x1 + 0 x2 = a 6 x1 + 4 x2 = 120 0 x1 + 1 x2 = b Serão permitidas as seguintes transformações lineares: Troca de linhas Multiplicação da linha por um escalar Soma de uma linha multiplicada por um escalar a uma outra linha Notação: L n L m troca das linhas n e m; L n k L n multiplicação da linha n pelo escalar k; L n L n+ k L m soma da linha m multiplicada pelo escalar k à linha n. Para resolver o exemplo acima, são seguidos os seguintes passos: 1) L1 L1 / 4 (divisão da linha 1 por 4) - transformação do coeficiente de x1 na equação 1 para 1. x1 + 2 x2 = 40 6 x1 + 4 x2 = 120 2) L2 L2 (subtração da linha 2 pela linha 1 multiplicada por 6) - transformação do coeficiente de x1 na equação 2 para 0. 3) L2 -L2 / 8 (divisão da linha 2 por (-8) - transformação do coeficiente de x2 na equação 2 para 1. X1 +2 x2 = 40 0 x1 + 1 x2 = 15 4) L1 L1 - 2 L2 (subtração da linha 1 pela linha 2 multiplicada por 2) - transformação do coeficiente de x2 na equação 1 para 0. X1 +0 x2 = 10 0 x1 + 1 x2 = 15 Solução: x1 = 10 e x2 = 15 3. PROGRAMAÇÃO LINEAR 3.1 Definição O problema geral de programação linear é utilizado para otimizar (maximizar ou minimizar)uma função linear de variáveis, chamada de função objetivo, sujeita a uma série de inequações lineares, chamadas restrições. A formulação do problema a ser resolvido por programação linear Introdução à Programação Linear 7 segue alguns passos básicos. Deve ser definido o objetivo básico do problema, ou seja, a otimização a ser alcançada. Por exemplo, maximização de lucros, ou de desempenhos, de custos, de perdas, de tempo. Tal objetivo será representado por uma função objetivo, a ser maximizada ou minimizada; Para que esta função objetivo seja matematicamente especifica, devem ser definidas as variáveis de decisão envolvidas. Por exemplo, número de máquinas, a área a ser explorada, a classe de investimento à disposição etc. Normalmente, assume-se que todas estas variáveis possam assumir somente valores positivos; Estas variáveis normalmente estão sujeitas a uma série de restrições, normalmente representadas por inequações. Por exemplo, quantidade de equipamento disponível, tamanha da área a ser exploradas, capacidade de um reservatório, exigências nutricionais para uma determinada ração, etc. Todas essas expressões, entretanto, devem estar de acordo com a hipótese principal da programação linear, ou seja, todas as relações entre as variáveis devem ser lineares. Isto implica proporcionalidade das quantidades envolvidas. Estas características de linearidade pode ser interessante no tocante a simplificação da estrutura matemática envolvida, mas prejudicial na representação de fenômenos não lineares (por exemplo, funções de custo tipicamente quadráticas). 3.2 Formulação de Modelos O problema geral de programação linear pode ser definido por maximizar ou minimizar uma função. Maximizar (ou minimizar): Z = c1 x1 + c2 x2 + .......... + cn xn Sujeito a: a11 x1 + a12 x2 + .......... + a1n xn ou ou = b1 a21 x1 + a22 x2 + .......... + a2n xn ou = b2 ........... am1 x1 + am2 x2 + .......... ou ou = bm x1, x2, .......... xn 0 3.3 Exemplo A empresa de ração canina produz dois tipos de raçôes: Tobi e Rex. Para a manufatura das rações são utilizados cereais e carne. Sabe-se que: A ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg de cereais; O pacote de ração Tobi custa R$ 20,00 e o pacote de ração Rex custa R$ 30,00 O kg de carne custa R$ 4,00 e o kg de cereais custa R$ 1,00; Estão disponíveis por mês 10.000 kg de carne e 30.000 kg de cereais. Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. No modelo deseja-se maximizar o lucro (Z) a partir da quantidade de ração Tobi (x1) e de ração Rex (x2). A tabela abaixo apresenta o cálculo do lucro unitário de cada ração. Introdução à Programação Linear 8 Especificações Ração Tobi Ração Rex Custo da carne 1 kg x R$ 4,00 = R$ 4,00 4 kg x R$ 4,00 = R$ 16,00 Custo dos cereais 5 kg x R$ 1,00 = R$ 5,00 2 kg x R$ 1,00 = R$ 2,00 Custo total R$ 9,00 R$ 18,00 Preço R$ 20,00 R$ 30,00 Lucro R$ 11,00 R$ 12,00 A função objetivo pode ser escrita como: Maximizar: Z = 11 x1 + 12 x2 (máximo lucro) Sujeito a: 1 x1 + 4 x210000 (restrição de carne) 5 x1 + 2 x230000 (restrição de cereais) x1, x2 3.4 Solução Gráfica Este problema com apenas duas variáveis pode ser resolvido graficamente. Traça-se um gráfico com os seus eixos, representados pelas duas variáveis x1 e x2. A partir daí, traçam-se as retas referentes às restrições do problema e delimita-se a região viável. Encontrada a região viável, deve-se traçar uma reta com a inclinação da função objetivo. São então traçadas diversas paralelas a ela no sentido de Z crescente (maximização da função). O ponto ótimo é o ponto onde a reta de maior valor possível corta a região viável (normalmente num vértice). Introdução à Programação Linear 9 Figura 3.1. Região viável para o problema das rações Introdução à Programação Linear 10 Figura 3.2. Busca da solução ótima para o problema das rações 4. O MÉTODO SIMPLEX O Método Simplex caminha pelos vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela, e esta é a solução ótima. A solução ótima pode não existir em dois casos: quando não há nenhuma solução viável para o problema, devido a restrições incompatíveis; ou quando não há máximo (ou mínimo), isto é, uma ou mais variáveis podem tender a infinito e as restrições continuarem sendo satisfeitas, o que fornece um valor sem limites para a função objetivo. 4.1 Exemplo de um Problema O modelo de programação linear pode ser resolvido por um método de solução de sistema de equações lineares. O processo que será apresentado no exemplo a seguir, o qual é bastante intuitivo, tem por finalidade apresentar a metodologia utilizada pelo Método Simplex. Introdução à Programação Linear 11 a) Formulação do problema Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente a oficina faz apenas dois produtos: mesa e armário, ambos de um só modelo. Para efeito de simplificação, vamos considerar que a marcenaria tem limitações em somente dois recursos: madeira e mão-de-obra, cujas disponibilidades diárias são mostradas na tabela a seguir. Recurso Disponibilidade Madeira 12 m2 Mão-de-obra 8 horas.homem O processo de produção é tal que, para fazer uma mesa, a fábrica gasta 2 m2 de madeira e 2 horas.homem de mão-de-obra e, para fazer um armário, a fábrica gasta 3 m2 de madeira e 1 hora.homem. Além disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de R$ 4,00 e cada armário de R$ 1,00. O problema é encontrar o programa de produção que maximiza a margem de contribuição total para o lucro. b) Montagem do modelo As variáveis de decisão envolvidas no problema são: x1 : quantidade a produzir de mesas; x2: quantidade a produzir de armários A função objetivo é: Lucro: Z=4 x1 + x2 Para as restrições, a relação lógica existente é: Utilização de recurso Disponibilidade Assim temos: Madeira: 2 x1 + 3 x2 12 Mão-de-obra: 2 x1 + x2 8 x1, x2 0 O modelo completo é: Maximizar: Z = 4 x1 + x2 Sujeito a: 2 x1 + 3 x2 12 2 x1 + 3 x2 8 x1, x2 0 c) Solução do modelo Já conhecemos o método de solução gráfica para problemas de programação linear de duas variáveis. Será agora apresentada a solução por sistema de equações lineares. Introdução à Programação Linear 12 Para se transformar as restrições do problema de programação linear de inequações em equações, são introduzidas as variáveis de folga. Neste problema as restrições têm a seguinte estrutura lógica: Utilização de Recurso Disponibilidade Ao se introduzir o conceito de folga de recurso, a inequação pode ser escrita como: Utilização de Recurso + Folga = Disponibilidade Isso significa que: Utilização de RecursoDisponibilidade Folga 0 Utilização de Recurso = Disponibilidade Folga = 0 Deste modo a folga de cada recurso pode ser representada por uma variável de forma exatamente igual à produção de cada produto. Desse modo vamos chamar: f1: Folga de madeira f2: Folga de mão-de-obra Introduzindo as variáveis de folga, o problema a ser resolvido passa a ser: Maximizar: Z = 4 x1 + x2 Sujeito a: 2 x1 + 3 x2 + f1 =12 2 x + x2 + f2 = 8 x1, x2, f1, f2 0 O problema consiste em encontrar a solução do sistema de equações lineares que maximiza o lucro. Como neste caso o número de variáveis (m = 4) é superior ao número de equações (n = 2), o sistema é indeterminado, apresentando infinitas soluções. No entanto, todas as variáveis devem ser maiores ou iguais a zero. Atribuir zero a uma variável significa não produzir um dos produtos (se a variável for x1 ou x2) ou utilizar toda a disponibilidade de recursos (se a variável for f1 ou f2). Desta forma, podemos encontrar soluções para o sistema de equações zerando duas variáveis (n - m = 2) e encontrando o valor para as duas variáveis restantes. Portanto tem-se que resolver: 6 )!2!2( !4 C24 sistemas de equações lineares. Uma vez resolvido o sistema, serãoaplicados na função objetivo os valores encontrados, onde as variáveis zeradas são chamadas de variáveis não-básicas e as variáveis cujos valores são calculados pelo sistema de equações serão chamadas de variáveis básicas. Iteração 1) Variáveis não-básicas: x1 = 0 x2 = 0 Temos as variáveis básicas f1 = 12 f2 = 8 Dando lucro: Z = 0 Iteração 2) Variáveis não-básicas: x1 = 0 f1 = 0 Temos as variáveis básicas x2 = 4 Introdução à Programação Linear 13 f2 = 4 Dando lucro: Z = 4 Iteração 3) Variáveis não-básicas: x1 = 0 f2 = 0 Temos as variáveis básicas x2 = 8 f1 = -12 Como f1 < 0, a solução obtida é INVIÁVEL. Iteração 4) Variáveis não-básicas: x2 = 0 f1 = 0 Temos as variáveis básicas x1 = 6 f2 = -4 Como f2 < 0, a solução é INVIÁVEL. Iteração 5) Variáveis não-básicas: x2 = 0 f2 = 0 Temos as variáveis básicas x1 = 4 f1 = 4 Dando lucro: Z = 16 Iteração 6) Variáveis não-básicas: f1 = 0 f2 = 0 Temos as variáveis básicas x1 = 3 x2 = 2 Dando lucro: Z = 14 Comparando-se todas as soluções encontradas por este processo, achamos a uma solução ótima, ou seja, x1 = 4, x2 = 0, f1 = 4, f2 = 0, dando um lucro Z = 16. 4.2 Desenvolvimento do Método Simplex Da forma como foi resolvido o problema anteriormente, é necessário que muitos sistemas de equações sejam resolvidos e suas soluções comparadas. Para problemas reais de programação linear, esta solução se torna inviável. Desta forma, para termos condições de resolver um problema de programação linear, precisamos de uma sistemática que nos diga: Qual o sistema de equações que deve ser resolvido; Que o próximo sistema a ser resolvido fornecerá uma solução Como identificar uma solução ótima, uma vez que a tenhamos encontrado. Essa sistemática é o método Simplex, e as regras que o método utiliza para atender às três Introdução à Programação Linear 14 questões acima são, basicamente, os critérios que desenvolvemos nos itens anteriores. Vamos voltar ao problema, já com as variáveis de folga: Maximizar Z = 4 x1 + x2 Sujeito a 2 x1 + 3 x2 + f1 = 12 2x1 + x2 + f2 = 8 x1, x2, f1, f2 0 Vamos montar um quadro para ordenarmos as operações, colocando nele apenas os coeficientes das variáveis. No caso da função objetivo, vamos realizar a seguinte transformação: de: Z = 4x1 + x2 para: Z –4 x1 - x2 = 0 Quadro 1 Base x1 x2 f1 f2 b f1 2 3 1 0 12 f2 2 1 0 1 8 z -4 -1 0 0 0 A última coluna corresponde aos termos independentes das equações, e a última linha contém os coeficientes das variáveis na função objetivo. Nessa última linha teremos sempre a contribuição que cada variável dá para o lucro total Z, por unidade, em cada iteração do processo. Essa última linha será chamada de função objetivo transformada, ou função z-transformada. a) Solução inicial A solução inicial para o problema será sempre obtida fazendo as variáveis originais do modelo (no caso x1 e x2) iguais a zero e achando o valor das demais. Assim, fazendo x1 = x2 = 0 (variáveis não básicas), obtemos do Quadro 1: f1 = 12 f2 = 8 (variáveis básicas) Z = 0 A variáveis básicas estão indicadas no Quadro 1, para facilitar o acompanhamento das operações. b) Segunda solução Como a primeira solução claramente não é a melhor, vamos procurar outra que dê um valor maior para Z. O problema é descobrir: Das duas variáveis não básicas (nulas) na primeira solução, qual deve se tornar positiva? Introdução à Programação Linear 15 Das duas variáveis básicas (positivas) na primeira solução, qual deverá ser anulada? Qual variável deverá se tornar positiva? Vamos observar que na última linha do Quadro 1 temos os coeficientes da função objetivo que mostram a contribuição para o lucro Z de cada unidade produzida de mesa (x1) e de armário (x2). Assim, aplicando o critério de que devemos produzir primeiro o produto que mais contribui para o lucro, vamos começar a produção pela variável x1, já que sua contribuição maior que a contribuição unitária para o lucro (R$ 4,00) é maior que a contribuição de x2 (R$ 1,00). Logo, a variável que deverá se tornar positiva é x1. Qual variável deverá ser anulada? Nota-se pelo Quadro 1 que, na primeira equação, o maior valor possível de x1 é 6 quando f1 for igual a zero (note que x2 vale zero por ser variável não básica). Qualquer valor maior de x1 fará com que o valor de f1 fique negativo, o que não é permitido. Na segunda equação, o maior valor permitido para x1 é 4, quando f2 for igual a zero. Analisando simultaneamente as duas equações , percebe-se que o maior valor possível para x1 é 4, já que atende às duas equações. Observe que esta análise pode ser feita diretamente do Quadro 1, através da divisão dos elementos da coluna b pelos correspondentes elementos da coluna x1. O menor quociente indica, pela linha em que ocorreu, qual a variável básica que deve ser anulada. Assim, como o menor quociente é dado pela divisão 8/2 = 4, a variável básica a ser anulada é f2, que é a variável positiva na atual solução, cujo valor foi encontrado na segunda linha. Assim temos: x2 =0 e f2 = 0 e o sistema restante deve ser resolvido para acharmos o valor de x1 e f1. A solução desse sistema será feita usando o Quadro 1 com as equações completas e usando as operações válidas com as linhas da matriz. 1a. Operação: Dividir a segunda linha por 2 ( L2 L2 / 2) Quadro 1 A Base x1 x2 f1 f2 B f1 2 3 1 0 12 x1 1 ½ 0 ½ 4 Z -4 -1 0 0 0 2a. Operação: Multiplicar a segunda linha do Quadro 1 A por (-2) e somar com a primeira linha do mesmo quadro, colocando o resultado na primeira linha (L1 L1 –2 L2) Quadro 1 B Base x1 x2 f1 f2 B f1 0 2 1 -1 4 x1 1 ½ 0 ½ 4 Z -4 -1 0 0 0 3a. Operação: Multiplicar a segunda linha do Quadro 1 B por (4) e somar com a terceira linha do mesmo quadro, colocando o resultado na terceira linha (L3 4 L2). Introdução à Programação Linear 16 Quadro 2 Base x1 x2 f1 f2 B f1 0 2 1 -1 4 x1 1 ½ 0 ½ 4 Z 0 1 0 2 16 Como a última linha (função z-transformada) mostra as contribuições liquidas para o lucro, caso as variáveis x1 e f2 venham ter seus valores aumentados de 0 (zero) para 1 e, como estas contribuições têm seus valores trocados com relação ao quadro original, conclui-se que a solução encontrada é ótima. x1 = 4 x2 = 0 f1 = 4 f2 = 0 Z = 16 4.3 Procedimento do Método Simplex (Problemas de Maximização) 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 os respectivos sinais e, na última 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 oferece, na última 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 nesta linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da função objetivo. Isso quer dizer que temos uma solução ótima, com 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: o 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 nesta coluna, o processo deve parar, já que a solução seria ilimitada. o 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: Usando operações válidas com as linhas da matriz, transformar o quadro de cálculos de forma a encontrar a nova solução básica. A coluna da nova variável básica deverá se tornar um vetor identidade, onde o elemento 1 aparece na linha correspondenteà variável que está sendo anulada. Passo 7: Retornar ao passo 4 para iniciar outra iteração. Introdução à Programação Linear 17 4.4 Outro Exemplo Vamos resolver pelo método Simplex o problema das rações. . Maximizar: Z = 11 x1 + 12 x2 Sujeito a: x1 + 4 x2 10000 5 x1 + 2 x230000 x1,x2 0 a) Inclusão das variáveis de folga Com a inclusão das variáveis de folga, o problema torna-se: Maximizar Z = 11 x1 + 12 x2 Sujeito a: x1 + 4 x2 + f1 · 10000 5 x1 + 2 x2 + f2 30000 x1,x2, f1, f2 0 b) Solução inicial Base x1 x2 f1 f2 b f1 1 4 1 0 10000 f2 5 2 0 1 30000 Z -11 -12 0 0 0 c) Primeira iteração Variável a entrar na base: x2 (coluna com maior valor negativo na última linha) Variável a sair da base: f1 (o quociente 10000/4 é o menor quociente entre a última coluna e a coluna da variável x2, que vai entrar na base) L1 L1 / 4 L2 L2 – 2 L1 L3 L3 + 12 L1 Base x1 x2 f1 f2 b f1 ¼ 1 ¼ 0 2500 f2 4,5 0 -1/2 1 2500 Z -8 0 3 0 30000 d) Segunda iteração Variável a entrar na base: x1 (coluna com maior valor negativo na última linha) Variável a sair da base: f2 (o quociente 25000/4 é o menor quociente entre a última coluna e a coluna da variável x1, que vai entrar na base) L2 L2 / 4,5 L1 L1 – L2 / 4 L3 L3 + 8 L2 Introdução à Programação Linear 18 Base x1 x2 f1 f2 b x2 0 1 0,2778 -0,0556 1111,11 x1 1 0 -0,1111 0,2222 5555,56 Z 0 0 2,1111 1,7778 74444,44 e) Solução ótima encontrada Como todos os valores da última linha (função z-transformada) são positivos ou nulos, conclui-se que a solução encontrada é ótima, ou seja: x1 = 5555,55 x2 = 1111,11 Z = 74444,44 4.5 Aspectos Matemáticos Singulares Na modelagem de um problema de programação linear, algumas situações específicas podem ocorrer, o que pode levar a casos em uma forma matemática diferente da apresentada até o momento. Entretanto, alguns artifícios matemáticos ajudam a reduzir o modelo obtido à forma padrão estudado. Estes artifícios são mostrados a seguir. 4.5.1 Minimização de uma função A minimização de uma função Z(x) é matematicamente análoga à maximização da negativa desta função (-Z(x)). Exemplo: Minimizar z = c1 x1i + c2 x2 + ...... + cn xm É equivalente a: Maximizar z' = - c1x1 - c2 x2 .... - cn xm Com: Z' = -Z Essa é uma das formas de se resolver os problemas de minimização utilizando o mesmo algoritmo. Caso que queira resolver diretamente, devemos alterar o critério de entrada das variáveis na base. A variável que entra na base passa a ser aquela que tem o maior valor positivo na linha z-transformada. Caso todas tenham coeficientes negativos ou nulos, a solução obtida é ótima. 4.5.2 Restrições de limite inferior ( ) Uma desigualdade em uma direção (ou ) pode ser mudada para uma desigualdade na direção oposta, pela multiplicação de ambos os lados da desigualdade por (-1). Exemplo: a1 x1 + a2 x2 b é equivalente a: -a1 x1 - a2 x2 -b Introdução à Programação Linear 19 4.5.3 Restrições de igualdade Uma equação pode ser substituída por duas desigualdades de direções opostas. Exemplo: a1 x1 + a2 x2 = b é equivalente a duas desigualdades simultâneas: a1 x1 + a2x2 b a1 x1+ a2 x2 b 4.5.4 Variável irrestrita em sinal Uma variável irrestrita em sinal (ou seja, que pode ser positiva, nula ou negativa) pode ser substituída pela diferença de duas variáveis não negativas. Exemplo: se a variável x1 for irrestrita em sinal, pode ser substituída pela diferença (x´1 - x"1) com x'1 0 e x”2 0. 4.6 Método Simplex em Duas Fases O Método Simplex utiliza uma solução inicial viável para começar o processo iterativo, trabalhando sempre dentro da região viável. Nos casos apresentados até o presente momento, a solução x1 = 0, para i =1, ...... n era uma solução viável, já que todas as restrições apresentadas foram do tipo (). Quando as restrições são do tipo (=) ou (), esta solução não existe. Seja o exemplo abaixo: Minimizar Z = 10 x1 + 4 x2 + 5 x3 Sujeito a: 8 x1 + 3 x2 + 4 x3 10 4 x1 + 3 x28 x1, x2 , x3 0 Como temos uma restrição do tipo (), a variável de folga deve ter coeficiente negativo, tendo o significado de uma variável de excesso. O problema transformado é: Minimizar Z = 10 x1 + 4x2 + 5x3 Sujeito a: 8 x1 + 3 x2 + 4 x3 – f1 = 10 4 x1 + 3 x2 + f2 = 8 x1, x2, x3 , f1, f2 0 Onde f1 é uma variável de excesso e f2 é uma variável de folga. Note que, pelo processo de solução anterior, a variável de excesso (f1) passaria a ter valor negativo na solução inicial (-10), o que não é permitido. Assim, a solução x1 = x2 = x3 = 0 é inviável. É necessário então encontrar uma solução viável para que o método Simplex possa ser iniciado. A forma de se resolver isto é criando novas variáveis. Estas variáveis são chamadas de variáveis artificiais, e representadas por zj. Será colocada uma variável artificial em cada restrição do modelo, ou seja: Introdução à Programação Linear 20 8 x1 + 3 x2 + 4 x3 – f1 + z1 = 10 4 x1 + 3 x2 + f2 + z2 = 8 x1, x2, x3, f1, f2, z1, z2 0 Como se pode perceber, o problema com as restrições acima não é o mesmo problema, a não ser que todas as variáveis zi sejam iguais a zero. Desta forma, podemos resolver o problema em duas fases: na primeira fase, substituímos a função objetivo original por uma função objetivo auxiliar: Zaux = - z1 - z2 = 12 x1 + 6 x2 + 4 x3 – f1+ f 2 -18 Nesse momento, aplicamos o método Simplex de forma a maximizar a função objetivo auxiliar, com as restrições contendo as variáveis auxiliares. A função objetivo auxiliar será maximizada quando todas as variáveis zi forem iguais a zero, já que não podem conter valores negativos. A primeira fase do problema, que consiste na maximização da função objetivo auxiliar, fornecerá uma solução viável para o problema original. A segunda fase consiste em resolver o problema original tomando como solução inicial os valores obtidos pela primeira fase para as variáveis x i e fi. a) Solução inicial Para resolver o problema, monta-se o quadro de forma semelhante à sistemática, colocando-se a função objetivo artificial na última linha. O quadro do exemplo fica: Base x1 x2 x3 f1 f2 z1 z2 b z1 8 3 4 -1 0 1 0 10 z2 4 3 0 0 1 0 1 8 z´ = -z 10 4 5 0 0 0 0 0 Zaux -12 -6 -4 1 -1 0 0 18 Observação: Como a função objetivo é de minimização, ela foi transformada em um problema de maximização através da multiplicação de todos os coeficientes por (-1). A seguir, aplica-se o método Simplex normalmente, usando como função objetivo a última linha. Quando a solução ótima for atingida, dois casos podem ocorrer: Zaux = 0: Neste caso foi obtida uma solução básica do problema original e o processo de solução deve continuar, desprezando-se as variáveis artificiais e os elementos da última linha. É o início da segunda fase do processo. Zaux 0: Neste caso o problema original não tem solução viável, o que significa que as restrições devem ser inconsistentes. Introdução à Programação Linear 21 b) Fase 1- Primeira iteração Variável a entrar na base: x1 (coluna com maior valor negativo na última linha) Variável a sair da base: z1 (o quociente 10/8 é o menor quociente entre a última coluna e a coluna da variável x1, que vai entrar na base) L1 L1 / 8 L2 L2 - 4 L1 L3 L3 – 10 L1 L4 L4 + 12 L1 Base x1 x2 x3 f1 f2 z1 z2 b x1 1 3/8 ½ -1/8 0 1/8 0 5/4 z2 0 3/2 -2 ½ 1 -1/2 1 3 z´ = -z 0 ¼ 0 5/4 0 -5/4 0 -12,5 Zaux 0 -3/2 2 -1/2 -1 3/2 0 -3 b) Fase 1 - Segunda iteração Variável a entrar na base: x2 (coluna com maior valor negativo na última linha) Variável a sair da base: z2 (o quociente 3/(3/2) é o menor quociente entre a última coluna e a coluna da variável x2, que vai entrar na base) L2 2 L2 / 3 L1 L1 – 3 L2 / 8 L3 L3 – L2 / 4 L4 L4 + 3 L2 / 2 Base x1 x2 x3 f1 f2 z1 z2 b x1 1 0 1 -1/4 -1/4 ¼ -1/4 ½ x2 0 1 -4/3 1/3 2/3 -1/3 2/3 2 z´ = -z 0 0 1/3 7/6 -1/6 -7/6 1/6 -13 Zaux 0 0 0 0 0 1 1 0 Como na última linha o valor da função objetivo artificial é zero, a primeira fase terminou e a solução encontrada é a solução básica inicial para a segunda fase. Removendoa última linha e as colunas referentes às variáveis artificiais, o quadro se torna: Base x1 x2 x3 f1 f2 b X1 1 0 1 -1/4 -1/4 ½ x2 0 1 -4/3 1/3 2/3 2 z´ = -z 0 0 1/3 7/6 -1/6 -13 c) Fase 2 - Primeira iteração Variável a entrar na base: f2 (coluna com maior valor negativo na última linha) Variável a sair da base: x2 (o quociente 2/(2/3) é o menor quociente entre a última coluna e a coluna da variável x2, que vai entrar na base) L2 3 L2 / 2 L1 L1 + L2 /4 Introdução à Programação Linear 22 L3 L3 + L3 / 6 Base x1 x2 x3 f1 f2 b z1 1 3/8 ½ -1/8 0 5/4 z2 0 3/2 -2 ½ 1 3 Zaux 0 ¼ 0 5/4 0 -12,5 e) Solução ótima encontrada Como todos os valores da última linha (função z-transformada) são positivos ou nulos, concluímos que a solução encontrada é ótima, ou seja: X1 = 1,25 x2 = 0 z=-z'= 12,5 APLICAÇÃO DA PROGRAMAÇÃO LINEAR NO BALANCEAMENTO DE RAÇÕES 1. INTRODUÇÃO Existe infinitas possibilidade de se formular rações a partir dos ingredientes disponíveis e que atendam as exigências nutricionais de uma determinada espécie e categoria animal, mas com diferentes custos de produção. Uma ração de mínimo custo significa selecionar a composição de uma ração a partir destes ingredientes, de tal forma que, atendem as exigências do animal, mas com o menor custo possível. O modelo matemático de um problema de formulação de ração de mínimo custo é o Problema de Programação Linear (PPL) e sua solução é obtida através do Método Simplex. Programação linear é uma técnica de otimização utilizada para resolver problemas que admitem uma grande quantidade de soluções, onde se deseja encontrar a melhor das soluções possíveis. Portanto a programação linear serve para resolver problemas que possam ser descritos matematicamente pôr uma série de equações lineares e pôr uma função que define o objetivo a ser alcançado. Para melhor conceituar um problema de programação linear, será apresentado um balanceamento de uma ração para frangos de corte, apenas com dois alimentos e dois nutrientes. Os dados essenciais são apresentados na tabela abaixo. Ingredientes Milho Soja Restrição Exigência EM, kcal/kg 3416,00 2283,00 mínimo 2950,00 PB, % 8,51 45,6 mínimo 17,00 Custo, R$ 0,18 0,42 - - Farelo de soja, kg/kg - - máximo 0,30 Variáveis: são os valores a serem encontrados dentro da região viável. - Quantidade de milho (kg): X1 - Quantidade de soja (kg): X2 Função objetivo: é a função que deve ser minimizada ou maximizada e que determinará os valores das variáveis. No caso é minimizar o custo da ração. Minimizar Z = 0,18 * X1 + 0,42 * X2 Restrições: são as equações que definem tecnicamente o problema. Energia: 3416*X1 + 2283*X2 2950 * Q PB: 8,51* X1 + 45,6 * X2 17,00 * Q Soja: 100 * X2 30 * Q Peso: 1* X1 + 1* X2 = Q (O valor de Q no exemplo é igual a 100) Limite das Variáveis: é a faixa de domínio permitido para as variáveis. Deve-se ter quantidades de ingredientes não negativos, ou seja: X1, X2 0 Tipo das entidades: Função objetivo: linear Restrições: lineares Variáveis: reais Resumo geral do problema de programação linear, expresso matematicamente: Otimizar: Z = CT * X (minimizar ou maximizar) Sujeito a: A * X = b X ≥0 Formulação completa do problema proposto: Minimizar: Z = 0,18 * X1 + 0,42 * X2 Sujeito a: Proteína: 8,51 * X1 + 45,6 * X2 17 * 100 Energia: 3416 * X1 + 2283 * X2 2950 * 100 Peso: 1 * X1 + 1 * X2 = 100 Soja max: 1 * X2 30 Com: X1, X2 0 2. SOLUÇÕES DO PROBLEMA 2.1. SOLUÇÃO POR TENTATIVAS O problema proposto possui infinitas soluções que atendem as exigências nutricionais, cada uma com um custo, além de infinitas soluções que não atendem as exigências propostas. Pelo método da tentativa, pode-se montar uma tabela do tipo exposto a seguir, com as quantidades de milho e de farelo de soja variando de 5 em 5 kg. Número Milho Soja Energia Proteína Quantidade Custo 01 100,00 0,00 3.416,0 8,5 100,00 1,80 02 95,00 5,00 3.359,3 10,4 100,00 1,92 04 85,00 15,00 3.246,0 14,1 100,00 2,16 05 80,00 20,00 3.189,4 15,9 100,00 2,28 06 75,00 25,00 3.132,7 17,8 100,00 2,40 07 70,00 30,00 3.076,1 19,6 100,00 2,52 08 65,00 35,00 3.019,4 21,5 100,00 2,64 20 5,00 95,00 2.339,6 43,7 100,00 4,08 22 70,00 25,00 2.962,0 17,3 95,00 2,31 23 80,00 25,00 3.303,5 18,2 105,00 2,49 As formulações de número 1 a 5 não atendem as exigências em proteína, a qual deve ser no mínimo 17%; As formulações de número 10 a 21 não atendem as exigências em energia metabolizável, que deve ser no mínimo 2950 kcal EM/kg de ração; As formulações de número 8 e 9 não atendem as exigências de limitação da quantidade do farelo de soja, que deve ser no máximo 0,30kg de soja/kg de ração (ou 30kg em 100kg de ração); As formulações de números 22 e 23 não atende a restrição de quantidade, a primeira por insuficiência (95kg) e a segunda por excesso (105kg), quando a restrição para o peso é de 100kg; Pode-se concluir dessa análise, que a formulação de custo mínimo que atende todas as exigências e restrições está compreendida entre as formulações de número 5 e 8. Trabalhando nesse intervalo, com intervalos de 1kg, tem-se: Número Milho Soja Energia Proteína Quantidade Custo 01 79,00 21,00 3,178,1 16,3 100,00 2,30 02 78,00 22,00 3,166,7 16,6 100,00 2,33 03 77,00 23,00 3,155,4 17,0 100,00 2,35 04 76,00 24,00 3,144,1 17,4 100,00 2,38 09 71,00 29,00 3,087,4 19,2 100,00 2,50 10 70,00 30,00 3,076,1 19,6 100,00 2,52 11 69,00 31,00 3,064,8 20,0 100,00 2,54 Efetuando a mesma análise da tabela anterior, verifica-se que as formulações que atendem as exigências nutricionais são as compreendidas entre os números 3 e 10. Dessas, a de melhor solução é a número 3, com 77% de milho, 23% de farelo de soja, fornecendo 3155,4 kcal EM/kg de ração e 17,0% de PB, a um custo de R$ 2,35/kg de ração. Para obter um resultado mais preciso, pode-se continuar os cálculos entre as soluções compreendidas entre os números 2 e 4, variando as quantidades do milho e da soja de 0,1 em 0,1kg. Da mesma forma, construi-se nova tabela e verifica-se a melhor solução. Se for o caso, continua-se o cálculo, agora de 0,01 em 0,01kg, e assim por diante até encontrar a solução com dois algarismos decimais. Para o exemplo estudado, com dois ingredientes e dois nutrientes, este modelo, apesar de exaustivo, é um procedimento possível de ser realizado manualmente. Porém quando uma ração envolver vários ingredientes e vários nutrientes, este procedimento é praticamente impraticável. 2.2. SOLUÇÃO GRÁFICA 0 20 40 60 80 100 120 140 160 180 200 X1 0 20 40 60 80 100 120 X 2 EM = 3416 X1 + 2283 X2 = 295000 X1 + X2 = 100 8.51X1 + 45.6X2 = 1700 X2=30 No segmento da reta, a qual satisfaz todas as restrições do problema, no ponto de intercessão com a reta da função de custo, é obtida a solução de custo mínimo. 2.3. SOLUÇÃO PELA PROGRAMAÇÃO LINEAR Resolvendo-se o problema através da programação linear, o resultado obtido, de uma forma bem simplificada, seria: Ingredientes Quantidade, kg Custo, $ Milho 77,11 138,80 Farelo de soja 22,89 96,14 Total 100,00 234,94 3. MÉTODO SIMPLEX Forma geral de um problema de programação linear Otimizar: Z = C1 * X1 + C2 * X2 + .......... + Cn * Xn Sujeito a: A11 * X1 + A12 * X2 + ............. + A1n * Xn ; ; = b1 A21 * X1 + A22 * X2 + ............. + A2n * Xn ; ; = b2 .................. .................. ............. + ............... .................... Am1 * X1 + Am2 * X2 + ............. + Amn * Xn ; ; = bm Ou seja, Otimizar: Z = CT * X Sujeito a: A * X ; ; = b Com: X 0 BALANCEAMENTO DE RAÇÕES PELO MÉTODO DO QUADRADO DE PEARSON 1. INTRODUÇÃO O balanceamento de rações pelo método do Quadrado de Pearson é o mais simples e rápido da maioria dos sistemas de balanceamento de rações, e serve para se obter uma mistura de dois alimentos e um nutriente, sendo que este nutriente, normalmente é a proteína da ração. O balanceamento pelo Quadrado de Pearson Simples sempre envolve dois alimentos e um nutriente, enquanto que o Quadrado de Pearson "T" Múltiplo permite envolver no balanceamento umasérie de alimentos, mas com apenas um nutriente, e ainda, num caso particular, pode-se balancear uma ração com três ingredientes e dois nutrientes utilizando-se do Método do Quadrado de Pearson, desde que um dos ingredientes tenha em um dos nutrientes envolvido, o valor zero. 2. QUADRADO DE PEARSON SIMPLES 2.1. DOIS ALIMENTOS E UM NUTRIENTE Calcular uma ração com 21% de proteína bruta (PB) utilizando-se o farelo de soja com 48% de PB e do milho com 8% de PB. Milho 8 27 Partes de milho 21 Soja 48 13 Partes de soja 40 Partes da mistura Este "Quadrado" encerra toda a resolução do problema: subtrai-se algebricamente (sem levar em consideração o sinal da operação) o nível da proteína do milho (8) pelo valor da PB da mistura desejada (21) e coloca-se no sentido transversal do quadrado (21-8 = 13), ficando esse valor obtido no canto inferior direito do quadrado, e representa as partes do farelo de soja na mistura total. Da mesma forma, subtrai-se o teor de proteína do farelo de soja (48) pelo da mistura (21) obtendo-se o valor de 27, e coloca-o no sentido transversal do quadrado, mas no canto superior direito, valor esse que representa as partes de milho no total da mistura. Desta maneira, tem-se 13 partes em 40 partes da mistura, que se refere ao farelo de soja, e 27 partes em 40 da mistura e que se refere ao milho. Para se obter uma mistura com 100 partes, faz-se uma regra de três simples: 40 27 100 X Ou seja: 2700/40 = 67,50% de milho 100 - 67,50 = 32,50% de farelo de soja. Prova: 8% de 67,50 = 5,40% de proteína do milho 48% de 32,50 = 15,60 % de proteína da soja Total: 21,00% Outro exemplo: Formular uma ração com 21,0% de proteína bruta a base de milho e farelo de soja e com suplemento de vitaminas e minerais. Dados: INGREDIENTES PB NOS INGREDIENTES, % PB NA RAÇÃO, % TOTAL, % Milho 9 - - Soja, farelo 46 - - Premix - 2 Total - 21 100 Para essa variação do Quadrado de Pearson, onde a quantidade final da mistura milho mais soja estará contida em 100 - 2 = 98, temos que fazer uma correção do teor de proteína para os 98%, ou seja: 98 21 100 X Portanto X = 21,43% Executando-se os cálculos pelo Quadrado de Pearson teremos 26,57 partes de milho e 13,43 partes de farelo de soja de um total de 40,00 partes da mistura. Calculando-se para 100%, teremos: 98 x 26,57/40 = 65,10 % de milho 98 x 13,43/40 = 32,90% de farelo de soja. Prova: ALIMENTOS QUANTIDADE, % PB, % Milho 65,10 5,21 Soja, farelo 32,90 15,79 Premix 2,00 - Total 100,00 21,00 2.2. TRÊS ALIMENTOS E DOIS NUTRIENTES Neste caso pode-se balancear uma ração pelo método do Quadrado de Pearson utilizando-se até três alimentos e dois nutrientes simultaneamente, desde que um dos alimentos tenha em um dos nutrientes balanceados o valor zero, que no caso o óleo seria o alimento mais adequado para este caso particular do Quadrado de Pearson. Exemplo: Balancear uma ração para frangos de corte com 22% de PB e 3300 kcal EM/kg de ração, com farelo de soja, milho e óleo bruto de soja. Dados: ALIMENTOS PB, % EM, kcal/kg Milho 9 3400 Soja, farelo 48 2200 Óleo de soja - 8700 Mistura 22 3300 O procedimento consta de se formar três pré-misturas de acordo com o esquema abaixo: Mistura I Utilizam-se os dois alimentos completos e fixa-se o nível protéico da mistura. Dessa maneira tem- se a porcentagem de cada ingrediente, com as quais pode-se determinar o valor da energia dessa Mistura I Mistura II Utiliza-se o concentrado protéico com o terceiro alimento, que no caso é o concentrado exclusivamente energético (óleo) e fixa-se novamente o nível protéico da mistura. Da mesma maneira, tem-se a porcentagem de cada ingrediente, com as quais determina-se o valor energético dessa Mistura II. Mistura III Com as misturas I e II obtidas, temos duas rações com o mesmo nível protéico, mas com valores energéticos diferentes. A próxima etapa consiste em obter a Mistura III a partir das I e II, pois ambas têm o mesmo nível de PB. Cálculos: Mistura I: Milho 9 26 Partes de milho 22 Soja 48 13 Partes de soja 39 Partes da mistura I Mistura I: Milho 26/39 x 100 = 66,67% Soja 13/39 x 100 = 33,33% Mistura I com 22% de PB e 3000 kcal EM/kg Mistura II: Óleo 0 26 Partes de óleo 22 Soja 48 22 Partes de soja 48 Partes da mistura II Mistura II: Soja 22/48 x 100 = 45,83% Óleo 26/48 x 100 = 54,17% Mistura II com 22% de PB e 5721 kcal EM/kg Mistura III: Mistura I 3000 2421 Partes da Mistura I 3300 Mistura II 5721 300 Partes da Mistura II 2721 Partes da Mistura III Mistura III: Mistura I 2421/2721 x100 = 88,97% Mistura II 300/2721 x 100 = 11,03% Mistura III com 22% de PB e 3300 kcal de EM/kg Determinando-se os valores dos componentes da Mistura III, temos: Milho = 88,97% de 66,67 da Mistura I = 59,32% Óleo = 11,03% de 54,17 da Mistura II = 5,97% Soja = (duas frações) = 34,71% Soja (duas frações) = 88,97% de 33,33 da Mistura I = 29,55% = 11,03% de 45,83% da Mistura II = 5,06% Prova: Alimentos % PB, % EM, kcal/kg Milho 59,32 5,34 2.016,88 Soja 34,71 16,66 763,62 Óleo 5,97 - 519,39 Total 100 22 3.300 3. QUADRADO DE PEARSON MÚLTIPLO ("T") Tem o mesmo procedimento do Quadrado de Pearson Simples, onde numa coluna à esquerda coloca-se os alimentos em ordem (de)crescente em relação aos níveis de proteína (ou outro nutriente), e no centro desta coluna de alimentos, coloca-se o nível de proteína (ou outro nutriente) desejado da mistura. A seguir procede-se da mesma forma que o do Método do Quadrado de Pearson Simples, ou seja, subtrai-se o valor do nutriente do primeiro alimento do valor da mistura e coloca-o numa outra coluna, adjacente, no lado direito, correspondendo ao último alimento da coluna esquerda. Da mesma forma, subtrai-se do segundo alimento o valor de seu nutriente do valor da mistura e coloca-o na coluna à direita, onde corresponderá ao penúltimo alimento da coluna esquerda, e assim sucessivamente, até que o último alimento da coluna esquerda seja subtraído do valor da mistura e o resultado seja colocado na coluna à direita, cujo valor corresponderá ao primeiro alimento da coluna direita. Exemplo: Balancear um concentrado protéico com 40% de proteína bruta, a partir dos alimentos com os seguintes níveis protéicos (%): Far.Trigo Far. Alfafa Far. Girassol Glúten Milho Far. Soja Far. Peixe 15.00 18.00 36.00 39.00 48.00 56.00 Os alimentos já foram colocados em uma ordem decrescente de proteína, portanto pode-se montar as colunas para as subtrações: Alimentos Coluna Esquerda Mistura Coluna Direita Parte de: Farelo de trigo 15 16 Farelo de trigo Farinha de alfafa 18 8 Farinha de alfafa Farelo de girassol 36 1 Farelo de girassol 40 Glúten de milho 39 4 Glúten de milho Farelo de soja 48 22 Farelo de soja Farinha de peixe 56 25 Farinha de peixe Total 76 Transformando-se em porcentagens, temos: Farelo de trigo = 16/76 x 100 = 21,05% Farinha de alfafa=8/76 x 100 = 10,53% Farelo de girassol = 1/76 x 100 = 1,32% Glúten de milho = 4/76 x 100 = 5,26% Farelo de soja = 22/76 x 100 = 28,95% Farinha de peixe =25/76 x 100 = 32,83% Prova: Alimentos % PB, % Farelo de trigo 21,05 3,16 Farinha de alfafa 10,53 1,90 Farelo de girassol 1,32 0,47 Glúten de milho 5,26 2,05 Farelo de soja 28,95 13,90 Farinha de peixe 32,89 18,42 Total 100,00 39,90 Observa-se que há um défice de 0,10% de proteína bruta no concentrado. Para adequar o concentrado com 40% de PB, faz-se um ajuste entre os ingredientes de maior (farinha de peixe) e o de menor (farelo de trigo) nível de proteína bruta. Portanto: 1kg a menos de farelo de trigo eqüivale a 0,150 kg de proteína 1 kg a mais de farinha de peixe eqüivale a 0,560 kg de proteína Em função desse raciocínio, temos um aumento de: 0,560 - 0,150 = 0,410 kg de proteína/kg de substituição entre esses dois alimentos escolhidos. Défice de nutrientes (em kg) Diferencial de nutrientes (em kg) Quantidade a serem trocadas entre esses dois alimentos: No caso: 0,100 / 0,410 = 0,244 kg ou praticamente 0,25 kg. Efetuando-se a subtração e adição entre os ingredientes, temos:Farelo de trigo = 21,05 - 0,25 = 20,80% Farinha de peixe = 32,89 + 0,25 = 33,14% Alimentos % PB, % Farelo de trigo 20,80 3,12 Farinha de alfafa 10,53 1,90 Farelo de girassol 1,31 0,47 Glúten de milho 5,26 2,05 Farelo de soja 28,95 13,9 Farinha de peixe 33,14 18,56 Total 100,00 40,00 No caso de ocorrer um excesso de nutrientes, faz-se o inverso, ou seja: retira-se o valor obtido do alimento com maior porcentagem e soma-se o mesmo valor ao alimento com menor nível de nutriente. BALANCEAMENTO DE RAÇÕES PELO MÉTODO GRÁFICO JOSÉ ROBERTO SARTORI GUILHERME JORDÃO DE MAGALHÃES ROSA ANTONIO CELSO PEZZATO 1. INTRODUÇÃO O método baseia-se na aplicação das coordenadas cartesianas, sendo que em cada eixo são representados, sob escala, os teores em princípios nutritivos de cada alimento. 2. DUAS RESTRIÇÕES E DIFERENTES NÚMEROS DE ALIMENTOS 2.1. DOIS ALIMENTOS Como primeiro exemplo, os eixos das abscissas e ordenadas, indicarão respectivamente, os níveis de proteína bruta (PB) e dos nutrientes digestíveis totais (NDT), dos alimentos. Assim no Gráfico 1, o ponto A representa um alimento com 80% NDT e 7% PB e o ponto B, outro alimento com 15% PB e 65% NDT. O princípio básico do método é de que todas as possíveis misturas entre dois alimentos são representadas graficamente pelos pontos que constituem o segmento de reta que os ligam. Cada ponto desse segmento indica uma mistura dos dois alimentos, cujos teores em PB e NDT são dados pelas suas projeções sobre as coordenadas. 8 0 7 5 7 0 6 5 5 1 0 1 5 N D T P B X M A B Gráfico 1. Dois alimentos e duas restrições O ponto M no Gráfico 1 corresponde a uma ração com teores de 12,3% PB e 70% NDT. Para se determinar as quantidades dos alimentos A e B que formarão a mistura M procede-se da seguinte maneira: O segmento que liga os pontos referentes aos dois alimentos representará a quantidade Q da mistura M. Assim se se deseja obter 100kg da mistura, o comprimento do segmento AB equivalerá a essa quantidade. O segmento AB será dividido pelo ponto M em dois segmentos proporcionais às quantidades de A e B necessárias à composição de M. Esses segmentos representados sob forma de fração de AB, serão chamados de Relação Indicativa do Alimento (Ri). O Ri de um alimento é dado pelo segmento da reta em oposição ao ponto que representa esse alimento. No presente caso, as relações indicativas dos alimentos A e B são: RiA = BM/AB RiB = AM/AB Para se obter a quantidade q de cada alimento que irão formar o total Q da mistura desejada M, multiplica-se o Ri de cada alimento por essa quantidade Q. Neste EXEMPLO 1 deve- se calcular as quantidade de A e B para perfazer 100kg da mistura M com 12,3% PB e 70% NDT. Dados: Alimentos PB, % NDT, % A 7 80 B 15 65 M 12,3 70 Dados obtidos do Gráfico 1 em papel milimetrado: Retas e segmentos de reta do Gráfico 1 Medida Comprimento da reta AB 8,4 mm Comprimento do segmento AM 56 mm Comprimento do segmento BM 28 mm RiA 28/84 RiB 56/84 Alimentos Cálculos Quantidades, kg PD, % NDT,% A qA = (28/84) x 100 33,3 2,33 26,64 B qB = (56/84) x 100 66,7 10,00 43,35 M Total 100,0 12,33 69,99 Portanto em 100kg da mistura tem-se 33,3kg do alimento A e 66,7kg do alimento B. Com essas quantidades dos alimentos A e B obtém-se uma mistura M com 12,33% PB e 69,99% NDT. Observações: 1. Para facilitar os cálculos, podem-se substituir as medidas de comprimento dos segmentos mencionados pelas suas projeções sobre os eixos, utilizando-se de papel quadriculado. Usando-se o papel quadriculado e com os mesmos dados, têm-se as seguintes projeções sobre os eixos das ordenadas: Reta AB 15 quadrículas A = (5/15) x 100 33,3 kg Segmento AM 10 quadrículas B = (10/15) x 100 66,7 kg Segmento BM 5 quadrículas 2. Quando se deseja obter uma determinada quantidade de ração balanceada diferente de 100kg, basta multiplicar a relação indicativa de cada alimento pela quantidade Q desejada. Assim, as quantidades de A e B para a composição de 80kg da mesma mistura M, serão: A = (5/15) x 80 = 26,7kg; B = (10/15) x 80 = 53,3kg 2.2. TRÊS ALIMENTOS O segundo exemplo, é a obtenção de uma mistura M com 16% PB e 72% NDT utilizando- se de três alimentos, sendo os dois anteriores (A e B) e um terceiro C com 23% PB e 76% NDT. Inicialmente organiza-se o Gráfico 2 e nele localizam-se os pontos referentes aos alimentos que deverão compor a mistura. Os três pontos que formam o triângulo ABC, dentro do qual estarão todos os pontos correspondentes às misturas possíveis entre esses alimentos. Assim, se desejarmos uma mistura indicada por um ponto que se localize fora desse triângulo, essa mistura é irrealizável com os alimentos dados. No EXEMPLO 2 a mistura M encontra-se no interior do referido triângulo e, portanto poderá ser obtida a partir dos alimentos dados. A C B x M M1 80 75 70 65 5 10 15 20 NDT PB Gráfico 2. Três alimentos e duas restrições Cálculo: Como já foi visto, ligando-se dois desses pontos por um segmento AB, por exemplo, ele representará todas as misturas possíveis entre esses dois alimentos. Traçando-se um segundo segmento desde o ponto C até o segmento AB, com a condição de passar pelo ponto M, tem-se o gráfico completado, ou seja, a mistura calculada graficamente. Nesse gráfico, M1 é a mistura preliminar de A com B, e M é a mistura final da combinação de C com M1. Regra para a determinação da quantidade dos componentes: A quantidade de cada alimento é obtida multiplicando-se seu Ri pelos Ri das misturas preliminares das quais esse alimento faz parte e ainda pela quantidade Q da mistura que se deseja. Neste caso, têm-se três componentes com os seguintes dados: Alimentos PD, % NDT, % A 7 80 B 15 65 C 23 76 M 16 72 Do Gráfico 2 tem-se as seguintes projeções: AB = 15,0 AM1 = 10,0 BM1 = 5,0 CM1 = 6,0 CM = 4,0 M1M = 2,0 As relações indicativas dos alimentos são: RiA = BM1/AB = 5/15 RiB = AM1/AB = 10/15 RiC = M1M/CM1 = 2/6 RiM1 = CM/CM1 = 4/6 Para obter 100kg da mistura, tem-se: qA = RiA x RiM1 x 100 qB = RiB x RiM1 x 100 qC = RiC x 100 Alimentos Cálculos Quantidades, kg PD, % NDT, % A qA = (5/15) x (4/6) x 100 22 1,54 17,60 B qB = (10/15) x (4/6) x 100 44 6,60 28,6 C qC = (2/6) x 100 34 7,82 25,8 M Total 100 15,96 72,00 2.3. QUATRO ALIMENTOS O terceiro exemplo é a obtenção de uma mistura M com quatro alimentos. No caso com três ingredientes o ponto M obrigatoriamente ficou dentro do triângulo formado pelos pontos A, B e C correspondentes a esses componentes. Em função dessa constatação, pode-se generalizar que, quando houver três ou mais ingredientes, a mistura será exeqüível quando o ponto M ficar no interior do polígono formado pelas retas mais externas que ligam entre si todos os pontos representativos dos alimentos. NDT NDT NDT PBEXEQUIVEL EXEQUIVEL NÃO EXEQUIVEL * M * M * M Figura 3. Possíveis situações para soluções para uma mistura de alimentos Neste caso, vamos calcular uma mistura M com 15,5% PB e 73,5% NDT utilizando-se os alimentos A, B, C e D. Dados: Alimento PD, % NDT, % A 7,0 80,0 B 15,0 65,0 C 23,0 76,0 D 25,0 68,0 M 15,5 73,5 Solução gráfica: traçam-se inicialmente dois segmentos: AC, representativo das misturas possíveis entre os alimentos A e C e BD, com a mesma finalidade em relação a B e D, conforme o Gráfico 4. 80 75 70 65 NDT 05 10 15 20 25 PB A C M1 B D M X M2 Gráfico 4. Quatro alimentos e duas restrições Pelo ponto M, que representa a mistura que se deseja obter, deverá passar a terceira reta, interceptando AC e BD. Neste exemplo, M1 indica a mistura preliminar de A com C e M2, a mistura preliminar de B com D. A citada terceira reta, que liga os segmentos AC à BD, poderia ter várias posições, atendendo em todas, a condição de passar por M. Todas essas posições satisfariam ao balanceamento desejado com relação aos teores de PB e NDT. Entretanto, essas diversas posições representarão teores diferentes nos outros nutrientes, como o cálcio, fósforo, metionina, lisina, fibra, ou seja, nas demais características da ração. Verifica-se, portanto, a importância dessa reta que passa
Compartilhar