Como converter um problema de programação não-linear à Programação Linear

problemas de programação linear tentar encontrar uma solução para uma função objetivo , que pretende maximizar ou minimizar um certo valor dentro do reino de um conjunto de restrições . Problemas de programação linear são bem estudados em matemática , e existem muitos algoritmos que facilmente levar a suas soluções. No entanto , os problemas de programação lineares tendem a ser extremamente difícil de resolver , o que conduziu a métodos para convertê-los em problemas de programação linear . Instruções

1

Assegurar a função objetivo é côncava. Você pode fazer isso , quer por prova , utilizando a definição estrita de concavidade ou representando graficamente a função. Se você optar por representar graficamente a função , analisar o gráfico imaginando cada conjunto de dois pontos sobre essa função. Pergunte a si mesmo : “Se eu fosse para desenhar uma linha entre esses dois pontos , seria a própria função mentir acima dessa linha ? ” Se a resposta for afirmativa, então a função é côncava , e você pode converter o problema de programação não-linear para um problema de programação linear.

2

Escolha pontos r quebra ao longo do eixo – x . Ligue para estes pontos de quebra d (1) , d ( 2), … , d (r). O número de pontos de quebra que você escolher não é totalmente importante; mais pontos de quebra vai dar uma conversão mais precisa , mas fará com que o problema resulta mais complicado.

3

Encontre os valores correspondentes da função nesses pontos de quebra . Chamá-los C (1) , c (2) , …, c (r).

4

Calcule a inclinação para cada parte da função , agora quebrado. A inclinação pode ser facilmente calculado para o ” ordem k ” peça através de s ( k ) = [ c ( k ) – C ( k – 1 ) ] /[ d ( k ) – d ( k – 1 ) ] .

5

Reescreva a função objetivo , utilizando-se as somas de encostas em vez da função original . Se a sua função objetivo original era uma função de ” x “, que agora será uma função de “x ( i) “, onde cada “i ” representa o ” om ” pedaço da função. Em outras palavras, você terá a função objetivo : soma [ x (i ) * s (i) ] para todo i

6

Reescreva as restrições. . Para cada restrição , substitua “x” com somas de “x ( i) , ” como você fez para a função objetivo . Além disso , dar ” x ( i ) ” o limite superior de d ( i ) d – ( i – 1 ) . Isso completa a conversão do problema de programação não-linear para um linear.

Deixe um comentário