Como converter um problema de programação não-linear para a 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 da esfera de um conjunto de restrições. problemas de programação linear são bem estudados na matemática, e existem muitos algoritmos que facilmente levar a suas soluções. No entanto, problemas de programação não lineares tendem a ser extremamente difícil de resolver, o que conduziu a métodos para os converter em problemas de programação linear.

  • Garantir a função objetivo é côncava. Você pode fazer isso de uma prova, usando 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.

  • Escolha R pontos de quebra ao longo do eixo x. Chamar esses pontos de quebra d (1), d (2), ..., d (r). O número de pontos de quebra que você escolher não é inteiramente importante- mais pontos de quebra dará uma conversão mais precisa, mas vai fazer o problema resultante mais complicado.

  • Encontrar os valores correspondentes da função nestes pontos de quebra. Chamar-lhes C (1), C (2), ..., c (R).



  • Calcular a inclinação para cada peça da função agora desfeita. A inclinação é facilmente calculada pela "enésimo" peça através de [C (k) -C (k-1)] / (k) = [d (K) -d (k-1)].

  • Reescrever a função objetivo, usando as somas de encostas em vez da função original. Se a sua função objetivo original era uma função do "X," ele vai agora ser uma função de "XI)," onde cada "Eu" 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.

  • Reescrever as restrições. Para cada restrição, substitua "X" com somas de "XI)," como você fez para a função objetivo. Além disso, dar "XI)" o limite superior de d (i) -D (i-1). Isto completa a conversão do problema de programação não linear a um modelo linear.

De esta maneira? Compartilhar em redes sociais:

LiveInternet