MATLAB é um ambiente de programação adequado para resolver uma ampla variedade de problemas técnicos e matemáticos. Um problema comum em áreas técnicas envolve programação linear, ou a otimização dos parâmetros do sistema para minimizar o erro resultante - ou qualquer outra métrica. MATLAB fornece uma série de métodos para resolver facilmente problemas de programação linear com o mínimo de tempo gasto escrevendo código. Instruções
1
Formate seu problema de programação linear no formato esperado pelo MATLAB " linprog ()" função que minimiza o valor de " f ' * x ", onde " f' " é a transposição de " f ", que satisfaçam as condições :
a ∙ x < = bA_eq ∙ x = b_eqLower_bound < = x < = upper_bound
as variáveis " , f , " " x ", " b ", " b_eq , " " lOWER_BOUND " e " uPPER_BOUND " são todos os vectores . As variáveis "a " e " A_eq " são matrizes ou vectores multidimensionais . Os argumentos " A_eq ", " B_eq ", " lower_bound " e " upper_bound " são opcionais.
2
Definir opções para o " linprog ()" usando o solver função " optimset ()" . O valor do parâmetro são definidas usando a seguinte sintaxe , o segundo exemplo adiciona um parâmetro para um conjunto existente de opções:
my_options = optimset (' param1 ' , valor1 , ...); my_new_options = optimset ( my_options , ' param2 ' , valor2 );
Há muitas opções disponíveis. Opções comuns para definir incluem " maxiter " para definir o número máximo de iterações do procedimento de otimização e "Display" para o progresso de saída após cada iteração.
3
Execute o " linprog () " função usando a seguinte sintaxe :
... = Linprog (f, a, b, A_eq , b_eq , lower_bound , upper_bound , x0, opções );
O " x0 " variável é o valor inicial para avaliar a "x ", mas é apenas disponível usando a média escala algoritmo conjunto com a função de " optimset ()"
4
Direcione a saída do " linprog ()" para as variáveis de saída apropriados: .
[x, FVal , exitflag , saída , lambda ] = linprog ( ... );
a variável "x" é o valor de "x" que otimiza o problema.O programação linear " FVal " variável é o valor de" f ' * x "no valor final de " x " a " exitflag " variável indica a forma como o procedimento de otimização terminou : " . 1 "indica a otimização convergiu para uma solução para " x ", enquanto que os outros valores indicam um erro no procedimento . A variável "output" é uma estrutura que contém informações sobre o procedimento de otimização, ea variável " lambda " é uma estrutura que contém os multiplicadores de Lagrange de "x ".