A programação não linear é um método pelo qual uma função objetivo é otimizada, maximizando ou minimizando. Isso, levando em consideração as diferentes restrições fornecidas. É caracterizado porque a função objetivo, ou alguma das restrições, pode ser não linear.
A programação não linear é, então, um processo onde a função a ser maximizada, ou qualquer uma das restrições, é diferente de uma equação linear ou de primeiro grau, onde as variáveis são elevadas à potência 1.
Devemos lembrar que uma equação linear é uma igualdade matemática que pode ter uma ou mais incógnitas. Assim, tem a seguinte forma básica, onde a e b são as constantes, enquanto x e y são as variáveis:
ax + b = y
Deve-se acrescentar que nem todos os elementos que compõem este tipo de programação obedecerão a esta característica. Por exemplo, pode ser que a função objetivo seja uma equação de segundo grau e uma das variáveis seja ao quadrado, preenchendo a seguinte forma:
y = machado2+ bx + c
Agora, por meio da programação não linear, essa função pode ser otimizada, encontrando o valor máximo ou mínimo de y. Isso, levando em consideração que x está sujeito a certas restrições.
Elementos de programação não linear
Os principais elementos da programação não linear são os seguintes:
- Função objetiva: É a função que se otimiza, seja maximizando ou minimizando seu resultado.
- Restrições: São as condições que devem ser atendidas ao otimizar a função objetivo. Podem ser equações algébricas ou desigualdades.
Exercício de programação não linear
Vamos ver, para finalizar, um exercício de programação não linear.
Suponha que temos a seguinte função:
y = 25 + 10x-x2
Também temos a seguinte restrição:
y = 50-3x
Como podemos ver no gráfico, a função objetivo e a restrição se cruzam em dois pontos, mas onde y é maximizado é quando x = 2,3, onde y = 43 (decimais são aproximados).
Os pontos de corte podem ser encontrados igualando as duas equações:
25 + 10x-x2= 50-3x
0 = x2-13x + 25
Então, a equação quadrática acima tem duas soluções ou raízes que podem ser encontradas com as seguintes fórmulas, onde a = 1, b = -13 e c = 25.
Assim, descobrimos que x1 = 2,3467 (y = 43) e x2 = 10,653 (y = 18).
Devemos alertar que este tipo de programação é mais complexo do que linear, e não existem tantas ferramentas disponíveis online para resolver este tipo de otimização. O exemplo mostrado é um caso muito simplificado.