Printing BaziniaiSprendiniai&KrastutiniaiTaskai.wxm

Panašūs dokumentai
Printing triistr.wxmx

* # * # # 1 TIESĖS IR PLOKŠTUMOS 1 1 Tiesės ir plokštumos 1.1 Lygtys ir taškų aibės Sferos lygtis Tarkime, kad erdvėje apibrėžta Dekarto stačiak

Printing AtvirkstineMatrica.wxmx

4 skyrius Algoritmai grafuose 4.1. Grafų teorijos uždaviniai Grafai Tegul turime viršūnių aibę V = { v 1,v 2,...,v N } (angl. vertex) ir briaun

LIETUVOS JAUNŲJŲ MATEMATIKŲ MOKYKLA 7. PAPRASČIAUSIOS DIFERENCIALINĖS LYGTYS ( ) Teorinę medžiagą parengė ir septintąją užduotį sudarė prof. d

(Microsoft Word - Pasiruo\360imas EE 10 KD-1)

MatricosDetermTiesLS.dvi

Algoritmø analizës specialieji skyriai

Microsoft PowerPoint Ekstremumai_naujas

GRAFŲ TEORIJA Pasirenkamasis kursas, Magistrantūra, 3 sem m. rudens semestras Parengė: Eugenijus Manstavičius Įvadas Pirmoji kurso dalis skirta

PowerPoint Presentation

TIESINĖ ALGEBRA Matricos ir determinantai Matricos. Transponuota matrica. Nulinė ir vienetinė matrica. Kvadratinė matrica. Antrosios ir trečiosios eil

QR algoritmas paskaita

Isvestiniu_taikymai.dvi

VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA Atsitiktinės paieškos optimizavimo algoritmų vertinimas Evaluat

Neiškiliojo optimizavimo algoritmas su nauju bikriteriniu potencialiųjų simpleksų išrinkimu naudojant Lipšico konstantos įvertį

Algebra ir geometrija informatikams. Paskaitu¾ konspektas Rimantas Grigutis 7 paskaita Matricos. 7.1 Apibr eµzimas. Matrica A yra m eiluµciu¾ir n stul

Algoritmai ir duomenų struktūros (ADS) 7 paskaita Saulius Ragaišis, VU MIF

Slide 1

TAIKOMOJI MATEMATIKA. 1-ojo testo pavyzdžiai serija **** variantas 001 x x + 12 lim = x 4 2x 8 1 2; 3 0; 2 1 2; 5 1; 6 2; 7 ; riba nee

Atranka į 2019 m. Pasaulinę ir Vidurio Europos matematikos olimpiadas Sprendimai Artūras Dubickas ir Aivaras Novikas 1. Mykolas sugalvojo natūraliųjų

Lietuvos mokinių matematikos olimpiada Rajono (miesto) etapo užduočių klasei sprendimai 2015 m. 1 uždavinys. Aistė užrašė skaičių seką: 1 (2 3)

lec10.dvi

TAIKOMOJI MATEMATIKA IR KIEKYBINIAI METODAI. Rašto darbas serija 3081 variantas Nustatykite funkcijos f(x) = x+2 x 6 cos ( 3x) apibrėžimo sritį.

Microsoft PowerPoint Dvi svarbios ribos [Read-Only]

9 paskaita 9.1 Erdvės su skaliarine daugyba Šiame skyriuje nagrinėsime abstrakčias tiesines erdves, kurioms apibrėžta skaliarinė daugyba. Jos sudaro l

VI. TOLYDŽIU IR DIFERENCIJUOJAMU FUNKCIJU TEOREMOS 6.1 Teoremos apie tolydžiu funkciju tarpines reikšmes Skaitytojui priminsime, kad nagrinėdami reali

DISKREČIOJI MATEMATIKA. Grafai serija 5800 variantas 001 Grafas G 1 = (V, B 1 ) apibrėžtas savo viršūnių bei briaunų aibėmis: V = {i, p, z, u, e, s},

PowerPoint Presentation

21. Ilgis, plotas, perimetras Įvadas Šiame modulyje pateikti įvairaus sudėtingumo uždaviniai apie ilgį, perimetrą ir plotą. Sprendžiant uždavinius rei

DB sukūrimas ir užpildymas duomenimis

Duomenų vizualizavimas

Teorinių kontrolinių sąlygos ir sprendimai Vytautas Kazakevičius 2016 m. gruodžio 20 d. Teiginiai ( ). 1. (0.05 t.) Užrašykite formule tokį t

Slide 1

10 Pratybos Oleg Lukašonok 1

PS_riba_tolydumas.dvi

III. SVEIKI NENEIGIAMI SKAIČIAI 3.1 Indukcijos aksioma Natūraliu ju skaičiu aibės sa voka viena svarbiausiu matematikoje. Nors natūralaus skaičiaus sa

MATEMATIKOS BRANDOS EGZAMINO PROGRAMOS MINIMALIUS REIKALAVIMUS ILIUSTRUOJANTYS PAVYZDŽIAI Egzamino programos minimalūs reikalavimai 1.3. Paprastais at

XI skyrius. KŪNAI 1. Kūno sa voka Šiame skyriuje nagrinėsime kūnus. Kūnas tai aibė k, kurioje apibrėžti aibės k elementu du vidiniai kompozicijo

G E O M E T R I J A Gediminas STEPANAUSKAS Turinys 1 TIES ES IR PLOK TUMOS Plok²tumos ir tieses plok²tumoje normalines lygtys

L I E T U V O S J A U N Ų J Ų M A T E M A T I K Ų M O K Y K L A 2. TRIKAMPIŲ ČEVIANOS ( ) Teorinę medžiagą parengė ir antrąją užduotį sudarė V

Diferencialinių lygčių dalinėmis išvestinėmis sprendimo metodai. Įvadas.

P. Kasparaitis. Praktinė informatika. Skriptų vykdymas ir duomenų valdymas Skriptų vykdymas ir duomenų valdymas Įvadas Skripto failas tai M

VERSLO IR VADYBOS TECHNOLOGIJŲ PROGRAMA

Slide 1

Projektas „Europos kreditų perkėlimo ir kaupimo sistemos (ECTS) nacionalinės koncepcijos parengimas: kreditų harmonizavimas ir mokymosi pasiekimais gr

Magistro darbas

1

Microsoft Word - 15_paskaita.doc

DISKREČIOJI MATEMATIKA. Grafo tyrimas serija 5705 variantas Grafas (, ) yra 1 pilnasis; 2 tuščiasis; 3 nulinis; 4 dvidalis. 2 Atstumas tarp graf

LIETUVOS ŽEMĖS ŪKIO UNIVERSITETAS

Verslas: Teorija ir praktika Business: Theory and Practice Issn print / Issn online (3): doi: /btp ĮM

5_3 paskaita

Dažniausios IT VBE klaidos

Masyvas su C++ Užduotys. Išsiaiškinkite kodą (jei reikia pataisykite) ir paleiskite per programą. Ciklo skaitliuko įrašymas į vienmatį masyvą: #includ

Programų sistemų inžinerija Saulius Ragaišis, VU MIF

Priedai_2016.indd

Elektronu igreitejimo stipriame elektriniame lauke itaka fotolaidžios terahercu antenos savybems

Slide 1

SEB IL Brent nafta Platinimo laikotarpis INVESTICINIAI LAKŠTAI

Algoritmai ir duomenų struktūros (ADS) 2 paskaita Saulius Ragaišis, VU MIF

DBVS realizavimas Pagrindiniai DBVS komponentai Duomenų saugojimas diske Paruošė J.Skučas

Kauno menų darželis Etiudas Mgr. Virginija Bielskienė, direktorės pavaduotoja ugdymui, II vad. kategorija, auklėtoja metodininkė Žaidimas pagrindinė i

6. ŠAKNIES RADIMO ALGORITMAS Istorija. Babiloniečių arba Herono algoritmas. Jau žiloje senovėje reikėjo mokėti traukti kavadratinę šaknį. Yra išlikęs

1 priedas UAB "ROKIŠKIO VANDENYS" (Ūkio subjekto pavadinimas) KAINŲ POKYČIO SKAIČIAVIMAS PERSKAIČIUOTOMS BAZINĖMS KAINOMS NUSTATYTI (Bendrovės skaičia

VALSTYBINĖ KAINŲ IR ENERGETIKOS KONTROLĖS KOMISIJA

1 Vaizdu vidurkinimas ir požymiu išskyrimas 1.1 Glodus vienmatis eksponentinis filtras Apibrėšime eksponentini tolydu kintamojo x filtra formule ( v σ

Vigirdas Mackevičius 2. Sekos riba Paskaitu konspektas Intuityviai realiu ju skaičiu seka vadinama realiu ju skaičiu aibė, kurios elementai (vadinami

Microsoft PowerPoint - NMVA_TIMSS2011_2013_pristatymas_viskas

Microsoft Word - DSEA-3s.doc

Techninis aprašymas Tolygaus valdymo pavara AME 435 Aprašymas Vožtuvo srauto reguliavimo funkciją. Srautą galima įvairiai reguliuoti nuo tiesinio iki

MergedFile

ktu kompiuterių katedra Programavimas asembleriu Darius Birvinskas Ignas Martišius Algimantas Venčkauskas

Matematinės analizės idėjų raidos atspindžiai tarpukario Lietuvoje Rimas Norvaiša (2014 m. birželio 26 d.) Santrauka. Matematinė analizė formavosi tir

No Slide Title

Geriamojo vandens tiekimo ir nuotekų tvarkymo bei paviršinių nuotekų tvarkymo paslaugų kainų nustatymo metodikos 36 priedas (Ūkio subjekto pavadinimas

PRATYBOS PASAULIO PAŽINIMAS Gegužė Mus supantys ženklai Ženklai mums padeda 1 Kokius ženklus derėtų pakabinti, kad pagerintume paveikslėliuose vaizduo

IKT varžybos Pakeliaukime po informacijos pasaulį Varžybų vykdymo eiga 1. Komandų prisistatymas Susipažinkime užduotis (1 priedas) Mokinukui per

2013 m

_SGD_SPRENDINIAI TARYBAI_AR SANTRAUKA_12005

Logines funkcijos termu generavimo algoritmas pagristas funkciniu modeliu

VALSTYB S MON REGISTR CENTRAS Juridini asmen registras, kodas , V. Kudirkos g. 18, LT Vilnius-9, tel. (8 5) , faks. (8 5) 268 8

Microsoft Word - Liuminescencija_teorija

LMR200.dvi

KAUNO TECHNOLOGIJOS UNIVERSITETAS

PowerPoint Presentation

Europos Sąjungos Taryba Briuselis, 2016 m. spalio 28 d. (OR. en) Tarpinstitucinė byla: 2016/0344 (NLE) 13797/16 ADD 2 PECHE 400 PASIŪLYMAS nuo: gavimo

Microsoft Word - 8 Laboratorinis darbas.doc

Henrikas PRANEVIČIUS, Šarūnas RAUDYS, Algimantas RUDŽIONIS, Vytautas RUDŽIONIS, Kastytis RATKEVIČIUS, Jūratė SAKALAUSKAITĖ, Dalius MAKACKAS Agentinių

VĮ GIS-Centras Vilnius 2019 Palydovinių duomenų peržiūros ir analizės paslauga Naudotojo vadovas v.1

Microsoft Word - Copy of Magistrinis.doc

VILNIAUS TECHNOLOGIJŲ MOKYMO IR REABILITACIJOS CENTRO STRATEGINIO ŠVIETIMO PLANO ĮGYVENDINIMO 2017 METŲ VEIKLOS PROGRAMA PATVIRTINTA Vilniaus technolo

PATVIRTINTA Valstybinės kainų ir energetikos kontrolės komisijos pirmininko 2017 m. d. įsakymu Nr. O1- VALSTYBINĖS KAINŲ IR ENERGETIKOS KONTROLĖS KOMI

ŠIAULIŲ R. KURŠĖNŲ LOPŠELIO-DARŽELIO EGLUTĖ INFORMACIJA APIE 2016 METŲ VIEŠUOSIUS PIRKIMUS Naudojami sutrumpinimai: A Tiekėjų apklausa; AK Atviras kon

Tyrimu projektas

PowerPoint Presentation

VIDURINIO UGDYMAS Vidurinis ugdymas neprivalomas, trunka dvejus metus (11 ir 12 vidurinės mokyklos ar gimnazijų III IV klasės). Mokiniai mokosi pagal

Specialus pasiūlymas Specialus pasiūlymas! Įsigijus vadovėlius visai klasei* mokytojams dovanojame vertingas dovanas 1. Kodėl sukūrėme šį pasiūlymą? N

Transkriptas:

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm / Baziniai sprendiniai ir kraštutiniai taškai (C) A.Domarkas, VU, 25 žr.: [] 2-252; [2] 9-98; [3] 33-; [] 89-98; [5] 6.3 Tegul tiesinių lygčių sistemos nežinomųjų skaičius yra n ir koeficientų matricos A rangas lygus r. Tiesinių lygčių sistemos nežinomieji, kurių reikšmes galima laisvai pasirinkti, vadinami laisvaisiais nežinomaisiais. Kiti šios sistemos nežinomieji vadinami baziniais nežinomaisiais. Bazinių nežinomųjų skaičius yra lygus matricos A rangui r, o laisvųjų nežinomųjų skaičius yra lygus k = n-r. Apibrėžimas. Tarkime, kad lygčių sistema yra suderinta ir r < n. Tada jos sprendinys, kurio laisvųjų nežinomųjų reikšmės lygios nuliui, vadinamas baziniu sprendiniu. Baziniai sprendiai yra pritaikomi tiesinio programavimo uždaviniuose. Jie yra svarbūs apbūdinant leistinosios aibės kraštutinius taškus. Ekstremalios tikslo funkcijos reikšmės yra įgyjamos šiuose taškuose. Apibrėžimas. Tegu X yra iškiloji aibė. Taškas x yra vadinamas aibės X kraštutiniu tašku(extreme point), jei jis nepriklauso vidui atkarpos, jungiančios du skirtingus taškus iš aibės X. Jei aibė X yra iškilasis daugiakampis arba iškilasis briaunainis, tai kraštutiniai taškai sutampa su jo viršūnėmis. žr.: [], 89-98 http://en.wikipedia.org/wiki/extreme_point http://ljk.imag.fr/membres/anatoli.iouditski/cours/convex/chapitre_.pdf Čia naudojama atvirojo kodo kompiuterinės algebros sistema Maxima 5.36. pavyzdys pavyzdys([], 27 p.) Raskite tiesinių lygčių sistemos visus bazinius sprendinius. (%i) eq:x+x2-x3+x+x5=$ eq2:x2+x3+x-x5=2$ eq3:x-x3+x5=$ (%i) sist:[eq,eq2,eq3]$ (%i5) vars:sort(listofvars(sist)); (%o5) [ x,x2,x3, x, x5 ] (%i6) Ai:augcoefmatrix(sist,vars); (%o6) 2 (%i7) A:submatrix(Ai,6); (%o7) (%i8) [m,n]:matrix_size(a); (%o8) [ 3, 5 ] Matricos A rangas: (%i9) r:rank(a); (%o9) 3

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 2 / Laivųjų nežinomųjų skaičius: (%i) k:n-r; (%o) 2 (%i) rank(ai)=rank(a); (%o) 3 =3 (%i2) is(%); (%o2) true Gavome, kad išplėstinės matricos rangas lygus koeficientų matricos rangui. Todėl pagal Kronekerio-Kapelio teoremą sistema yra suderinta. Didžiausias laisvųjų nežinomųjų pasirinkimo būdų skaičius lygus derininių skaičiui iš n po k: (%i3) binomial(n,k); (%o3) (%i) var:full_listify(powerset({x,x2,x3,x,x5}, k)); (%o) [[x,x2],[x, x3 ],[x, x ],[x,x5],[x2,x3],[x2,x],[x2,x5],[x3,x],[x3, x5 ],[x,x5]] (%i5) length(var); (%o5) (%i6) makelist(solve(append(sist,var[i]),vars),i,,length(var)); (%o6) [[],[],[],[],[[x =,x2 =,x3 =,x =,x5 = ]],[],[[x=,x2 =,x3 =,x =, x5 =]],[[x=,x2 =,x3 =,x =,x5 = ]],[],[[x =,x2 =,x3 =,x =,x5 =]]] (%i7) delete([],%); (%o7) [[[x=,x2 =,x3 =,x =,x5 = ]],[[x=,x2 =,x3 =,x =,x5 =]],[[x =,x2 =,x3=,x=,x5 = ]],[[x =,x2 =,x3=,x =,x5 =]]] Todėl baziniai sprendiniai yra: (%i8) ats:makelist(subst(%[i],vars),i,,length(%)); (%o8) [[,,,, ],[,,,, ],[,,,, ],[,,,,]] arba (%i9) reverse(%); (%o9) [[,,,,],[,,,, ],[,,,,],[,,,, ]] 2 pavyzdys 2 pavyzdys([3], p., užd.) Raskite tiesinių lygčių sistemos visus bazinius sprendinius. Šiame pavyzdyje matricos A rangas yra mažesnis už lygčių skaičių. (%i2) kill(all)$ (%i) eq:x-2*x2+x=-3$ eq2:5*x-*x3-x=5$ eq3:-7*x+*x2+*x3-x=$ (%i) sist:[eq,eq2,eq3]$ (%i5) sist:[eq,eq2,eq3]$ (%i6) vars:sort(listofvars(sist)); (%o6) [ x,x2,x3, x ]

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 3 / (%i7) Ai:augcoefmatrix(sist,vars); (%o7) 5 7 2 3 5 (%i8) A:submatrix(Ai,5); (%o8) 5 7 2 (%i9) [m,n]:matrix_size(a); (%o9) [ 3, ] Matricos A rangas: (%i) r:rank(a); (%o) 2 Laivųjų nežinomųjų skaičius: (%i) k:n-r; (%o) 2 (%i2) rank(ai)=rank(a); (%o2) 2 =2 (%i3) is(%); (%o3) true Gavome, kad išplėstinės matricos rangas lygus koeficientų matricos rangui. Todėl pagal Kronekerio-Kapelio teoremą sistema yra suderinta. Didžiausias laisvųjų nežinomųjų pasirinkimo skaičius lygus derininių skaičiui iš n po k: (%i) binomial(n,k); (%o) 6 (%i5) var:full_listify(powerset({x,x2,x3,x}, k)); (%o5) [[x,x2],[x, x3 ],[x, x ],[x2,x3],[x2,x],[x3,x]] (%i6) length(var); (%o6) 6 (%i7) makelist(solve(append(sist,var[i]),vars),i,,length(var)); solve: dependent equations eliminated: (2) solve: dependent equations eliminated: (3) solve: dependent equations eliminated: (2) solve: dependent equations eliminated: (2) solve: dependent equations eliminated: (2) solve: dependent equations eliminated: (3) (%o7) [[[x=,x2 =,x3 = 2, x = 3]],[[x=,x2 =,x3=,x = 5]],[[x=,x2 = 3 2, x3 = 5,x=]],[[x = 3, x2 =,x3 =,x= 3 =2,x3=,x=]]] ]],[[x = 3,x2=,x3 = 5,x=]],[[x =,x2 Todėl baziniai sprendiniai yra:

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm / (%i8) ats:makelist(subst(%[i],vars),i,,length(%)); (%o8) [[,, 2, 3 ],[,,, 5 ],[, 3 2, 5,],[ 3,,, 3 ],[ 3,, 5,],[, 2,, ]] arba (%i9) reverse(%); (%o9) [[,2,,],[ 3,, 5, ],[ 3,,, 3 ],[, 3 2, 5,],[,,, 5],[,, 2, 3 ]] Gavome tokį pat atsakymą kaip ir []. 3 pavyzdys 3 pavyzdys([3], 33 p.) Raskite tiesinių lygčių sistemos (%i2) eq:x-3*x2+2*x-*x5=-7$ eq2:3*x+x2-2*x3+x5=$ eq3:2*x-x2+x3+7*x-3*x5=5$ neneigimų sprendinių aibės X kraštutinius taškus. (%i23) sist:[eq,eq2,eq3]$ (%i2) vars:[x,x2,x3,x,x5]$ (%i25) var:full_listify(powerset({x,x2,x3,x,x5}, 2)); (%o25) [[x,x2],[x, x3 ],[x, x ],[x,x5],[x2,x3],[x2,x],[x2,x5],[x3,x],[x3, x5 ],[x,x5]] (%i26) makelist(solve(append(sist,var[i]),vars),i,,length(var)); (%o26) [[[x=,x2 =,x3 = 37 79 6, x =,x5= 6 6 23 ]],[[x =,x2 = 37 3,x3=,x = 3,x5= 3 ]],[[x=,x2= 79 37, x3 =, x =,x5 = ]],[[x=,x2 =3,x3 =,x =,x5 =]],[[x = 69, x2 =,x3=,x= 37 69 = 37 6 79 37 6, x5 = ]],[[x =,x2 =,x3 =,x =,x5 = ]],[],[[x = 23 23 23 23 5, x2 5, x3=,x=,x5 = 6 3 ]],[[x = 2 3,x2 =3,x3 =,x =,x5 =]],[[x =2,x2 =3,x3 =, 3 x =,x5=]]] (%i27) delete([],%)$ Radome visus bazinius sprendinius: (%i28) baz:makelist(subst(%[i],vars),i,,length(%)); (%o28) [[,, 37 6, 79 6, 6 23 ],[, 37 3,, 3, 79 ],[, 3, 37,, ],[,3,,,],[ 69,,, 37 69, 6 79 ],[ 23 23,, 37 23,, 6 ],[ 23 5, 37 5,,, 6 3 ],[ 2 3,3,, 3,],[2,3,,, ]] (%i29) length(%); (%o29) 9 Gauname atsakymą: neneigiamų sprendinių aibės X kraštutiniai taškai yra (%i3) krast:sublist(baz,lambda([e],lmin(e)>=)); (%o3) [[,, 37 6, 79 6, 6 79 37 6 ],[, 3,,,],[,,,, 23 23 23 23 ],[2,3,,,]]

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 5 / Radome 9 bazinius sprendinius, iš kurių yra neneigiami. Vadovėlyje [3] yra rasti tik 3 kraštutiniai taškai [,3,,,], [2,3,,,] ir [,,37/6,79/6,6/23]. Palyginkite sprendimo metodus. pavyzdys pavyzdys([], 29 p.) Raskite minimumą funkcijos F=*x+x2-x3+2*x-x5, kai 3*x+x2+2*x3-x=5, 2*x-x3+3*x+*x5=8, x>=,..., x5>=. (%i3) remvalue (all)$ Čia yra pateikiamas kitas bazinių sprendinių ieškojimo būdas, kuris naudoja komandą "Msolve". (%i32) Msolve(A,K):=block([X,S,n,m,i,j,k], X:makelist(x[i],i,K), n:length(a[])-, m:length(a), S:makelist(sum(A[i,j]*x[j],j,,n)=A[i,n+],i,,m), if rank(a)#rank(submatrix(a,n+)) then return("sprendinių nėra"), solve(s,x), if %%=[] then return("neteisingai baziniai pasirinkti nežinomieji") else spr:subst(%%,makelist(x[i],i,n)), p:listofvars(spr),k:length(p), L:[a,b,c,d,e,f,g,h], subst(makelist(p[i]=l[i],i,,k),spr) )$ (%i33) Ai:matrix([3,,2,-,,5], [2,,-,3,,8]); 2 5 (%o33) 3 2 3 8 (%i3) A:submatrix(Ai,6)$ B:col(Ai,6)$ (%i36) binomial(5,2); (%o36) (%i37) var:full_listify(powerset({,2,3,,5}, 2)); (%o37) [[,2],[, 3 ],[, ],[, 5 ],[2,3],[2,],[2,5],[3,],[3,5],[,5]] (%i38) visi:[]$ for k thru do (Msolve(Ai,var[k]), if listp(%%) then visi:endcons(%%,visi))$ Visi baziniai spendiniai: (%i) baz:visi,a=,b=,c=; (%o) [[, 7,,,],[3,, 2,, ],[ 23,,,,],[ 5 3,,,, 7 6 ],[,2, 8,,], [, 23 3,, 8 3, ],[, 5,,, 2 ],[,, 23 5, 2 5,],[,, 5 2,, 2 8 ],[,,, 5, 23 ]] Apibrėžiame tikslo funkciją F(x). Pabrėšime, kad čia x yra vektorius. Kai rašome x[i], tai imama to vektoriaus i-toji koordinatė. (%i) F(x):=*x[]+x[2]-x[3]+2*x[]-x[5]; (%o) F( ) x := x +x 2 x 3 +2 x x 5 Visi baziniai spendiniai su neneigiamomis koordinatėmis: (%i2) baz:sublist(baz,lambda([e],lmin(e)>=)); (%o2) [[ 23,,,, ],[ 5 3,,,, 7 6 ],[, 23 3,, 8 3,],[,5,,,2],[,, 23 5, 2 5, ],[,, 5 2,, 2 8 ]]

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 6 / Atitinkamos tikslo funkcijos F reikšmės yra: (%i3) map(f,baz); (%o3) [ 2, 2, 3, 3, 9 5, 8 ] (%i) lmin(%); (%o) 8 Matome, kad mažiausia reikšmė yra -/8, įgyjama ant bazinio sprendinio [,,5/2,,2/8]. Bazinius sprendinius surūšiuojame taip, kad mažiausia reikšmė būtų ant pirmojo bazinio sprendini (%i5) ru(a,b):=f(a)<=f(b)$ (%i6) sort(baz,ru); (%o6) [[,, 5 2,, 2 8 ],[, 5,,, 2 ],[,, 23 5, 2 5,],[ 5 3,,,, 7 6 ],[, 23 3,, 8 3, ]] 23 ],[,,,, (%i7) ats:first(%); (%o7) [,, 5 2,, 2 8 ] (%i8) F_min=F(%); (%o8) F_min= 8 2 būdas(naudojant paketą "simplex"): (%i9) load(simplex)$ (%i5) F:*x+x2-x3+2*x-x5; (%o5) x5+2 x x3 +x2 + x (%i5) apr:[3*x+x2+2*x3-x=5,2*x-x3+3*x+*x5=8]; (%o5) [ x+2 x3 +x2 +3 x =5, x5 +3 x x3+2 x =8] (%i52) minimize_lp(f,apr), nonegative_lp=true; (%o52) [ 8,[x5 = 2 8, x =,x3 = 5 2, x2 =,x =]] 3 būdas: (%i53) kill(all)$ (%i) eq:3*x[]+x[2]+2*x[3]-x[]=5$ eq2:2*x[]-x[3]+3*x[]+*x[5]=8$ (%i3) F(x):=*x[]+x[2]-x[3]+2*x[]-x[5]; (%o3) F( ) x := x +x 2 x 3 +2 x x 5 (%i) sist:[eq,eq2]$ (%i5) vars:listofvars(sist); (%o5) [ x,x 2,x 3, x, x 5 ] (%i6) Ai:augcoefmatrix(sist,vars); 2 5 (%o6) 3 2 3 8

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 7 / (%i7) A:submatrix(Ai,6); 2 (%o7) 3 2 3 (%i8) [m,n]:matrix_size(a); (%o8) [ 2, 5 ] Matricos A rangas: (%i9) r:rank(a); (%o9) 2 Laivųjų nežinomųjų skaičius: (%i) k:n-r; (%o) 3 (%i) var:full_listify(powerset(setify(vars), k)); (%o) [[x, x 2, x 3 ],[x, x 2, x ],[x, x 2,x 5 ],[x,x 3,x ],[x,x 3,x 5 ],[x,x,x 5 ],[x 2, x 3, x ],[x 2,x 3, x 5 ],[x 2, x, x 5 ],[x 3, x, x 5 ]] (%i2) makelist(solve(append(sist,var[i]),vars),i,,length(var)); (%o2) [[[x =,x 2 =,x 3 =,x = 5,x 5 = 23 ]],[[x =,x 2 =,x 3 = 5 2,x =,x 5 = 2 8 ]],[[x =, x 2 =,x 3 = 23 5, x = 2 5, x 5 =]],[[x =,x 2 =5,x 3 =,x =,x 5 =2]],[[x =,x 2 = 23 3,x 3 =,x = 8 3, x 5 =]],[[x =,x 2 =2, x 3 = 8,x =,x 5 =]],[[x = 5 3,x 2 =,x 3 =,x =,x 5 = 7 6 ]],[[x = 23, x 2 =,x 3 =,x =, x 5 =]],[[x =3,x 2 =,x 3 = 2,x =,x 5 =]],[[x =,x 2 = 7,x 3 =, x =,x 5 =]]] Radome visus bazinius sprendinius: (%i3) baz:makelist(subst(%[i],vars),i,,length(%)); (%o3) [[,,, 5, 23 ],[,, 5 2,, 2 8 ],[,, 23 5, 2 5,],[,5,,,2],[, 23 3,, 8 3, ],[, 2, 8,,],[ 5 3,,,, 7 6 23 ],[,,,,],[3,, 2,,],[, 7,,,]] Leistinosios aibės X kraštutiniai taškai yra: (%i) krast:sublist(baz,lambda([e],lmin(e)>=)); (%o) [[,, 5 2,, 2 8 ],[,, 23 5, 2 5,],[,5,,,2],[, 23 3,, 8 3,],[ 5 3,,,, 7 6 ],[ 23,,,, ]] Randame tikslo funkcijos reikšmes kraštiniuose taškuose: (%i5) map(f,krast); (%o5) [ 8, 9 5, 3, 3, 2, 2 ] Mažiausioji reikšmė yra: (%i6) min_r:lmin(%); (%o6) 8 Ji įgyjama taškuose(šiuo atveju yra tik vienas taškas):

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 8 / (%i7) sublist(krast,lambda([x],f(x)=min_r)); (%o7) [[,, 5 2,, 2 8 ]] būdas. Pasinaudosime programa "ext"((c), A.Domarkas) kraštutinių taškų radimui: (%i8) kill(all)$ (%i) load(simplex)$ (%i2) ext(apr):=block([var,fs,cs,ap,s,s,m], var:sort(listofvars(apr)), s:apply("+",var), fs:append([,s,-s],var,-var), ap(k):=subst(apr[k]=(lhs(apr[k])=rhs(apr[k])),apr), cs:makelist(ap(k),k,,length(apr)), S:[], for f in fs do for c in cs do ( m:minimize_lp(f,c), if listp(m) then S:cons(subst(m[2],var),S) ), listify(setify(s)) )$ (%i3) F(x):=*x[]+x[2]-x[3]+2*x[]-x[5]; (%o3) F( ) x := x +x 2 x 3 +2 x x 5 (%i) apr:[3*x[]+x[2]+2*x[3]-x[]=5, 2*x[]-x[3]+3*x[]+*x[5]=8, x[]>=,x[2]>=,x[3]>=,x[]>=,x[5]>=]$ Randame kraštutinius taškus: (%i5) krast:ext(apr); (%o5) [[,, 5 2,, 2 8 ],[,, 23 5, 2 5,],[,5,,,2],[, 23 3,, 8 3,],[ 5 3,,,, 7 6 ],[ 23,,,, ]] Randame tikslo funkcijos reikšmes kraštutiniuose taškuose: (%i6) map(f,krast); (%o6) [ 8, 9 5, 3, 3, 2, 2 ] Mažiausioji reikšmė yra: (%i7) min_r:lmin(%); (%o7) 8 Ji įgyjama taškuose(šiuo atveju yra tik vienas taškas): (%i8) sublist(krast,lambda([x],f(x)=min_r)); (%o8) [[,, 5 2,, 2 8 ]] 5 būdas. Pasinaudosime programa "nopt"((c), A.Domarkas) netiesinės optimizacijos uždavinių sprendimui. Ši programa sprendžia ir tiesinio programavimo uždavinius su nedideliu kintamųjų skaičiumi. Joje nenaudojamas simplekso metodas, bet naudojamas Lagranžo daugiklių metodas.

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm 9 / (%i9) kill(all)$ reset(); (%o) [ features,piece, _,, labels, %,tr unique,lispdisp,multiplicities,pivot_count_sx ] (%i2) load(nopt); (%o2) C:/Users/Aleksas/maxima/nopt.mac (%i3) f:*x+x2-x3+2*x-x5$ (%i) apr:[3*x+x2+2*x3-x=5, 2*x-x3+3*x+*x5=8, x>=,x2>=,x3>=,x>=,x5>=]$ (%i5) minimize_nopt(f,apr); (%o5) [ 8,[x =,x2 =,x3 = 5 2, x =,x5= 2 8 ]] 6 būdas. Žr. [], 29 p. Palyginkite sprendimo būdus. Ar racionalu šiais laikais tokius uždavinius spręsti ranka be kompiuterio? 5 pavyzdys 5 pavyzdys([5], Example 6.2). Neneigiamų sprendinių aibėje rasti funkcijos f minimummą, kai teisingi apribojimai g. Figure : Šiame pavyzdyje uždavinys turi kelis sprendinius, be to, nenaudojamas suvedimas į kanoninį pavidalą. būdas. (%i6) load(simplex)$ (%i7) f:9*x/2+x2/2+x3+7*x/2+5*x5+3*x6/2+9*x7/2+x8; (%o7) x8+ 9 x7 + 3 x6 7 x +5 x5 + +x3 + x2 2 2 2 2 + 9 x 2 (%i8) apr:[x+2*x3+x+2*x5+3*x6+x8>=25,x2+x7+x8>=35]; (%o8) [ x8+3 x6 +2 x5 +x +2 x3 +x >= 25,x8+x7 +x2 >= 35 ] (%i9) minimize_lp(f,apr),nonegative_lp=true; (%o9) [ 3,[x7=,x2 =35, x8 =,x6 = 25 3,x5=,x =,x3 =,x =]] (%i) sort(%[2]); (%o) [ x=,x2=35, x3 =,x =,x5 =,x6 = 25 3,x7 =,x8 =] 2 būdas. Pasinaudosime programa "nopt"((c), A.Domarkas) netiesinės optimizacijos uždavinių sprendimui. Ši programa sprendžia ir tiesinio programavimo uždavinius su nedideliu kintamųjų skaičiumi. (%i) load(nopt); (%o) C:/Users/Aleksas/maxima/nopt.mac (%i2) vars:listofvars([f,apr]); (%o2) [ x,x2,x3, x, x5, x6, x7, x8 ]

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm / (%i3) nn:makelist(vars[i]>=,i,length(vars)); (%o3) [ x>=,x2 >=, x3 >=, x >=, x5 >=,x6 >=,x7 >=,x8 >= ] (%i) apr:append(apr,nn); (%o) [ x8+3 x6 +2 x5 +x +2 x3 +x >= 25,x8+x7 +x2 >= 35,x>=,x2 >=,x3 >=,x >=,x5 >=, x6 >=, x7>=,x8>=] (%i5) spr:minimize_nopt(f,apr); (%o5) [ 3,[x=,x2 =35, x3 = 25 2, x =,x5=,x6 =,x7=,x8 =],[x=,x2 =35,x3=,x =, x5 =,x6 = 25 3, x7 =,x8 =],[x =,x2 =,x3=,x =,x5 =,x6 =,x7=,x8 =25 ]] Gavome tris sprendinius. Visi jie tinka, nes juos įstačius į f gauname tą pačią reikšmę: (%i6) subst(spr[2],f); (%o6) 3 (%i7) subst(spr[3],f); (%o7) 3 (%i8) subst(spr[],f); (%o8) 3 3 būdas. Pasinaudosime programa "ext"((c), A.Domarkas) kraštutinių taškų radimui: (%i9) ext(apr):=block([var,fs,cs,ap,s,s,m], var:sort(listofvars(apr)), s:apply("+",var), fs:append([,s,-s],var,-var), ap(k):=subst(apr[k]=(lhs(apr[k])=rhs(apr[k])),apr), cs:makelist(ap(k),k,,length(apr)), S:[], for f in fs do for c in cs do ( m:minimize_lp(f,c), if listp(m) then S:cons(subst(m[2],var),S) ), listify(setify(s)) )$ (%i2) krast:ext(apr); (%o2) [[,,,,,,,35 ],[,,,,,,,25],[,,,,, 25 3,35,],[,, 25 2,,,, 35,],[,,,,,,, 25 ],[,35,,,, 25 3,,],[,35,,, 25 2,,,],[, 35,,25,,,,],[, 35, 25 2,,,,,],[25,35,,,,,,]] Apskaičiuosime tikslo funkcijos reikšmes šiuose taškuose. Tam šiek tiek pakeisime tikslo funkcijos įvedimą. (%i2) define(g(x),subst(makelist(concat(x,i)=x[i],i,,8),f)); (%o2) g( x ):=x 8 + 9 x 7 2 + 3 x 6 2 +5 x 5 + 7 x +x 2 3 + x 2 2 + 9 x 2 Randame tikslo funkcijos reikšmes kraštutiniuose taškuose: (%i22) map(g,krast); (%o22) [ 35,7,7, 7, 3, 3, 8, 23,3,3 ] Mažiausioji reikšmė yra:

BaziniaiSprendiniai&KrastutiniaiTaskai.wxm / (%i23) min_r:lmin(%); (%o23) 3 Ji įgyjama taškuose: (%i2) sublist(krast,lambda([x],g(x)=min_r)); (%o2) [[,,,,,,,25 ],[, 35,,,, 25 3,,],[,35, 25 2,,,,,]] Mathematica(žr, [5], Example 6.2) ir Maxima simplex paketas(žr. sprendimo būdą) gauna tik vieną sprendinį. 6 Literatūra [] A. Apynis, E. Stankus, Matematikos pagrindai, V., TEV, 29 [2] A. Apynis, E. Stankus, Matematika, V., TEV, 2 [3] A. Apynis, Optimizavimo metodai, V., VU, 25 [] V. Čiočys, R.Jasiulionis, Matematinis programavimas, V., Mokslas, 99 [5] M. Asghar Bhatti, Practical optimization methods: with Mathematica Aplications, Springer, 2