O objetivo do aplicativo é fornecer ferramentas convenientes para criar e resolver modelos de objetos para otimização linear.
A otimização linear, também chamada de programação linear (LP), é um método para alcançar o melhor resultado (como lucro máximo (mínimo) ou custo mais baixo) em um modelo matemático cujos requisitos e objetivos são representados por relações lineares. A programação linear é um caso especial de programação matemática (também conhecida como otimização matemática).
Programas lineares (modelos no sentido deste aplicativo) são problemas que podem ser expressos em formas padrão (Wikipedia):- encontrar o vetor x; - que maximiza(minimiza) Z = cx; - sujeito a Ax<=b – em maximiza( Ax>=b – em minimiza );- e x>=0. Aqui, os componentes de x são as variáveis a serem determinadas, c e b são vetores dados e A é uma matriz dada.
A partir da atividade inicial da aplicação – App Linear Optimization, estão incluídas as funções de criação, edição, resolução e exclusão de modelos. Os modelos são armazenados em um banco de dados SQLite com o nome linearProgramming.db. O aplicativo possui funções para armazenar e restaurar o banco de dados no diretório Download do dispositivo.
Ao criar um modelo de otimização, dois parâmetros são inseridos (atividade do modelo linear) - o número de variáveis do vetor x e o número de restrições (isso não inclui as restrições para variáveis) - ou seja, as linhas da matriz A . Após inserir esses dados e pressionar o botão – Modelo Linear, você prossegue para inserir os dados do modelo – da atividade Criação de Modelo Linear.
Os coeficientes do vetor x c são inseridos na linha com um rótulo Z= na frente dos rótulos *Xi+.
Os elementos da matriz À são inseridos na tabela denominada Restrições na frente do rótulo dos campos *Xi+. No último campo de cada linha da matriz após o rótulo <= , também são inseridos os limites b das restrições. Após inserir esses dados e pressionar o botão OK, retorna à atividade - atividade Modelo Linear, onde aparece um campo obrigatório para o nome do modelo e um botão para salvar.
Quando um modelo é salvo, seu nome aparece na lista de modelos exibida na atividade inicial da aplicação. O modelo selecionado da lista pode ser editado (botão Editar) ou resolvido (botão Calcular). Após editar e salvar, a versão editada é armazenada como um novo modelo, e o antigo permanece inalterado no banco de dados. Isso ocorre para que ambos os modelos possam ser resolvidos e os resultados possam ser comparados. Se algum deles não for necessário, ele poderá ser excluído.
Ao resolver um modelo, o resultado mostra a maximização e minimização da função alvo Z e em quais valores dos elementos do vetor x em que isso ocorre e também as restrições.
As indústrias que usam modelos de programação linear incluem transporte, energia, telecomunicações e manufatura. Ele se mostrou útil na modelagem de diversos tipos de problemas em planejamento, roteamento, programação, atribuição e design.
O aplicativo usa para otimização a classe SimplexSolver da biblioteca padrão org.apache.commons:commons-math:3.6.1.
Atualizado em
14 de out. de 2025