Formålet med applikationen er at give praktiske værktøjer til at skabe og løse modeller af objekter til lineær optimering.
Lineær optimering, også kaldet lineær programmering (LP), er en metode til at opnå det bedste resultat (såsom maksimal (minimum) fortjeneste eller laveste pris) i en matematisk model hvis krav og mål er repræsenteret af lineære sammenhænge. Lineær programmering er et specialtilfælde af matematisk programmering (også kendt som matematisk optimering).
Lineære programmer (modeller i betydningen af denne app) er problemer, der kan udtrykkes i standardformater (Wikipedia):- find vektor x; - der maksimerer (minimerer) Z = cx; - underlagt Ax<=b – i maksimerer( Ax>=b – i minimerer );- og x>=0. Her er komponenterne af x de variabler, der skal bestemmes, c og b er givet vektorer, og A er en given matrix.
Fra den indledende aktivitet af applikationen – App Linear Optimization, er funktionerne til oprettelse, redigering, løsning og sletning af modeller inkluderet. Modellerne er gemt i SQLite database med navnet linearProgramming.db. Applikationen har funktioner til lagring og gendannelse af databasen i biblioteket Download af enheden.
Når du opretter en optimeringsmodel, indtastes to parametre (Lineær Model-aktivitet) - antallet af vektor x-variabler og antallet af begrænsninger (dette inkluderer ikke begrænsningerne for variabler) - dvs. rækkerne i matrix A . Efter at have indtastet disse data og trykket på knappen – Lineær Model, fortsætter du med at indtaste modeldataene – fra aktivitet Lineær Model Oprettelse.
Vektoren x-koefficienterne c indtastes i linjen med en etiket Z= foran etiketterne *Xi+.
Elementerne i matricen А er indtastet i tabellen med navnet Constraints foran feltetiketten *Xi+. I det sidste felt i hver række i matrixen efter etiketten <= , er grænserne b for begrænsningerne også indtastet. Efter at have indtastet disse data og trykket på OK-knappen, vender den tilbage til aktiviteten - Lineær Modelaktivitet , hvor der vises et obligatorisk felt for modelnavnet og en knap til lagring.
Når en model er gemt, vises dens navn på listen over modeller, der vises i programmets indledende aktivitet. Valgt model fra listen kan redigeres (knap Rediger) eller løses (knap Beregn). Efter redigering og lagring gemmes den redigerede version som en ny model, og den gamle forbliver uændret i databasen. Dette for at begge modeller kan løses og resultaterne kan sammenlignes. Hvis nogle af dem ikke er nødvendige, kan de slettes.
Når man løser en model, viser resultatet maksimeringen og minimeringen af målfunktionen Z og ved hvilke værdier af elementerne i vektoren x, hvor dette sker, og også begrænsninger.
Industrier, der bruger lineære programmeringsmodeller, omfatter transport, energi, telekommunikation og fremstilling. Det har vist sig nyttigt til at modellere forskellige typer problemer i planlægning, ruting, planlægning, tildeling og design.
Applikationen bruger til optimeringsklassen SimplexSolver fra standardbiblioteket org.apache.commons:commons-math:3.6.1.