Como utilizar o MATLAB para resolver um problema de programação linear

Escrito por chris daniels | Traduzido por franciele gobi
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como utilizar o MATLAB para resolver um problema de programação linear
O MATLAB resolve facilmente programas de programação linear (Pixland/Pixland/Getty Images)

O MATLAB é um ambiente de programação adequado para a resolução de uma grande variedade de problemas técnicos e matemáticos. Um problema comum em áreas técnicas envolve programação linear, ou a otimização de parâmetros de um sistema para minimizar o erro resultante — ou qualquer outra métrica. O MATLAB fornece um número de métodos para resolver facilmente programas de programação linear com o mínimo de tempo gasto escrevendo código.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

Instruções

  1. 1

    Formate o problema de programação linear no formato esperado pela função "linprog()" do MATLAB que minimiza o valor de "f' * x", onde "f'" é a transposta de "f", satisfazendo as condições:

    A ∙ x <= b A_eq ∙ x = b_eq Limite_inferior <= x <= Limite_superior

    As variáveis "f", "x", "b", "b_eq", "Limite_inferior" e "Limite_superior" são todas vetores. As variáveis "A" e "A_eq" são matrizes, ou vetores multidimensionais. Os argumentos "A_eq", "b_eq", "Limite_inferior" e "Limite_superior" são opcionais.

  2. 2

    Defina as opções do solucionador "linprog()" utilizando a função "optimset()". Os valores dos parâmetros são definidos utilizando a seguinte sintaxe; o segundo exemplo adiciona um parâmetro a um conjunto existente de opções:

    my_options = optimset('param1',value1,...); my_new_options = optimset(my_options,'param2',value2);

    Existem muitas opções disponíveis. Opções comuns incluem "Maxiter" para definir o número máximo de iterações do processo de otimização e "Display" para mostrar o progresso depois de cada iteração.

  3. 3

    Execute a função "linprog() utilizando a seguinte sintaxe:

    ... = linprog(f, A, b, A_eq, b_eq, Lower_bound, Upper_Bound, x0, options);

    A variável "x0" é o valor inicial para resolver para "x", mas está disponível apenas ao utilizar o algoritmo de média escala, configurado através da função "optimset()".

  4. 4

    Direcione a saída de "linprog()" para as variáveis de saída apropriadas:

    [x,fval,exitflag,output,lambda] = linprog(...);

    A variável "x" é o valor de "x" que otimiza o problema de programação linear. A variável "fval" é o favor de "f' * x" no valor final de "x". A variável "exitflag" indica como o processo de otimização terminou: "1" indica que a otimização convergiu para uma solução para "x", enquanto outros valores indicam um erro no procedimento. A variável "output" é uma estrutura contendo informações sobre o processo de otimização e a variável "lambda" é uma estrutura contento os multiplicadores de Lagrange de "x".

Dicas & Advertências

  • Algumas funções de programação linear necessitam da caixa de ferramentas de otimização do MATLAB (Optimization Toolbox).

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível