Hensikten med applikasjonen er å gi praktiske verktøy for å lage og løse modeller av objekter for lineær optimalisering.
Lineær optimalisering, også kalt lineær programmering (LP), er en metode for å oppnå det beste resultatet (som maksimal (minimum) fortjeneste eller laveste kostnad) i en matematisk modell hvis krav og mål er representert av lineære forhold. Lineær programmering er et spesialtilfelle av matematisk programmering (også kjent som matematisk optimalisering).
Lineære programmer (modeller i betydningen av denne appen) er problemer som kan uttrykkes i standardformater (Wikipedia):- finn vektor x; - som maksimerer (minimiserer) Z = cx; - underlagt Ax<=b – i maksimerer( Ax>=b – i minimerer );- og x>=0. Her er komponentene til x de variablene som skal bestemmes, c og b er gitte vektorer, og A er en gitt matrise.
Fra den første aktiviteten til applikasjonen – App Linear Optimization, er funksjonene for å lage, redigere, løse og slette modeller inkludert. Modellene er lagret i SQLite database med navn linearProgramming.db. Applikasjonen har funksjoner for å lagre og gjenopprette databasen i katalogen Nedlasting av enheten.
Når du oppretter en optimaliseringsmodell, legges det inn to parametere (Lineær modellaktivitet) - antall vektor x-variabler og antall begrensninger (dette inkluderer ikke begrensningene for variabler) - dvs. radene i matrisen A . Etter å ha lagt inn disse dataene og trykket på knappen – Lineær modell, fortsetter du med å legge inn modelldata – fra aktiviteten Lineær modelloppretting.
Vektoren x koeffisientene c legges inn på linjen med en etikett Z= foran etikettene *Xi+.
Elementene i matrisen А legges inn i tabellen med navnet Begrensninger foran feltetiketten *Xi+. I det siste feltet i hver rad i matrisen etter etiketten <= , angis også grensene b for begrensningene. Etter å ha lagt inn disse dataene og trykket på OK-knappen, går den tilbake til aktiviteten - Lineær modellaktivitet , hvor et obligatorisk felt for modellnavnet og en knapp for lagring vises.
Når en modell er lagret, vises navnet i listen over modeller som vises i den første aktiviteten til programmet. Valgt modell fra listen kan redigeres (knapp Rediger) eller løses (knapp Calculate). Etter redigering og lagring lagres den redigerte versjonen som en ny modell, og den gamle forblir uendret i databasen. Dette for at begge modellene skal kunne løses og resultatene kan sammenlignes. Hvis noen av dem ikke er nødvendige, kan de slettes.
Når du løser en modell, viser resultatet maksimering og minimering av målfunksjonen Z og ved hvilke verdier av elementene i vektoren x der dette skjer og også begrensninger.
Bransjer som bruker lineære programmeringsmodeller inkluderer transport, energi, telekommunikasjon og produksjon. Det har vist seg nyttig for å modellere ulike typer problemer i planlegging, ruting, planlegging, tildeling og design.
Applikasjonen bruker for optimaliseringsklassen SimplexSolver fra standardbiblioteket org.apache.commons:commons-math:3.6.1.