Matematinis modeliavimas/tiesinis programavimas
Tiesinis programavimas:
Praktikoje dažnai sprendžiami probleminiai uždaviniai – tikslui pasiekti. Matematika – vienas iš varikliu kuris leidžia modeliuoti užduotis žinant reikiamas formules bei grafines vizualizacijas jomis ir panašiai.
Ne išimtis yra gamybos planavimo uždaviniai, kuriu išsprendimas reiškia tinkamiausiu sąlygų radimą ir panaudojimą, kad efektas butu optimalus.
Pavyzdžiui: Optimalus riterinis uždavinys
Turime 2 įrenginius (prekes): R1 ir R2
Reikia išspręsti uždavinį ir rasti:
Maksimalu pelną,
Mažiausias gamybos išlaidas,
...
Minimalias darbo sąnaudas.
Įrenginiui R1 surinkimui reikia 2 h, suderinimui 5, baigiamiesiems darbams 4. Įrenginiui R2 surinkimo darbams reikia 3 h., suderinimui 3 h., baigiamiesiems darbams 1 val. Iš viso R1 ir R2 surinkimo darbams per savaite neturi viršyti arba gali būti lygu 1100 h., suderinimui 1400 h., baigiamiesiems darbams 756 h.
Sudarome lentele:
R1 |
x |
2 |
5 |
4 |
150 |
R2 |
y |
3 |
3 |
1 |
120 |
Sakome, kad kiek pagaminsime įrenginių, tiek bus ir nupirkta.
Sudarome funkcija, apskaičiuojančia pelną bei tiesines funkcijas:
Pelną reikia maksimizuoti todėl:
maxP(x,y)=150x+120y
Toliau galime braižyti tieses iš duotųjų nelygybių grafiškai, radę jų visu susikirtimu taškų koordinates, kurios nurodo vieno ir kito įrenginio kainas. Tuomet įsistatyti i pelno funkcija bei gauti max pelną.
Sudarome 2 matematini (matricini) modeli:
Tokio tipo uždaviniai MatLabe sprendžiami tokiu būdu:
matricinis pavidalas:
Sudarome MatLabo scenarijų:
A=[2 3;5 3;4 1;-1 0;0 -1];
b=[1100,1400,756,-25,-40]‘
f=[-150,-120]; kadangi pelno f-ja max, o apribojimai min tai skiriame „-“
[x,fval]=linprog(f,A,b);
X
fval=-fval
Gauname, kad susikirtimo taškas C(100,300) duoda didžiausia pelną, kai R1- 100 LTL, R2 – 300 LTL.
Tags: programavimas tiesinis, programavimas, dažnai, praktikoje, sprendžiami, modeliavimastiesinis, matematinis, probleminiai, tiesinis