ADRESAI
TIKSLAS
PRIEMONES
PROGRAMINE IRANGA
BENDRI PAGEIDAVIMAI
NAUJI DARBAI
Pagrindine dinamiska mokymo sistema studijoms Interneto aplinkoje
yra tinklapiai.
Originalas Vilniuje MII:
(kelias: /home/mockus/public_html)
http://optimum2.mii.lt/~jonas2 ,
"veidrodis" Kaune KTU: http://soften.ktu.lt/~mockus
,
(kelias: /home/staff/mockus/public_html)
tarptautinis veidrodis: http://mockus.org/optimum
.
VGTU veidrodis Vilniuje: http://www.vtu.lt/mockus
,
Videokonferenciju administracija Donatas Raisutis:
[email protected],
8.27 300625 .
Konsultacijos: [email protected]
Sistema skirta studijoms tu disciplinu kurios yra susije su optimizavimu, tame skaiciuje, operaciju tyrimas, losimu ir rinkos teorija ir ypac, ju praktiniai taikymai.
Studiju pagrinda sudaro komplektas charakteringu uzdaviniu su
atitinkama programine iranga bei jos teoriniu pagrindimu.
Pilnas teorijos bei programines irangos aprasymas yra knygoje
stud2nn/index.html
anglu kalba.
Byloje
distgt.pdf pateikiamas pagrindiniu formuliu rinkinys kurios bus
aiskinamos paskaitose.
Daugiausia naudojama Java kalba, nes ji patogi studijoms Interneto
aplinkoje. Java programos gali buti paleidziamos naudojant narsykles,
pavyzdziui, GMJ arba
tiesiog Java komanda 'appletviewer
http://soften.ktu.lt/~mockus/gmjgallj/gmjexkor.html'.
Be to, visos programos pateikiamos originaliu '*.java' pavidalu bei
klasiu archyvuose '*.jar'.
Java kalbos ziniu. pradziamuokslis pateiktas
JavaTutorial/reallybigindex.html .
Gana pilna informacija knygoje P.Naughton, H.Schildt "Java
2, The Complete Reference ", McGraw-Hill, 1999, rusiskas vertimas
leidyklos "bhv, Sankt-Peterburg" (kaina Lietuvoj 33 Lt).
Pagalbines yra C++, C, Pascal bei Fortran kalbos. Atitinkamos programos
pateikiamos tiklapyje archyvuose '*.tar', '*.tgz', arba '*.zip'.
Dauguma taikymo pavyzdziu, tai rinktiniai studentu darbai. Neziurint to, darbai turi trukumu, kurie destytojo netaisyti ir neredaguoti, paliekant juos tobulinti jaunesniems kolegoms. Todel, svarbi namu darbu rusis butu juos pataisyti bei patobulinti remiantis knygoje stud2.pdf (tai stud2nn/index.html knyga pdf formate) isdestyta teorija, testiniu ir gyvenimisku uzdaviniu sprndimo rezultatu analyze bei nuosavais kurybiniais sugebejimais. Apskritai, tai greiciausias kelias mokantis taikyti teorines zinias praktiniu uzdaviniu sprendimui.
Pavyzdzius realizuojancios programos aprasomos trijuose skyriuose.
Skyriuje "Software Systems" yra "Framework" tipo sistemos jungiancios
optimizavimo metodus su konkreciais pavyzdziais. Sistemos patogios
parenkant tinkamiausius optimizavimo metodus ivairiems uzdaviniams.
Sistemos atviros, vykdant namu darbus jos
papildomos naujais uzdaviniais bei naujais optimizavimo metodais.
Dauguma sistemu skirtos globaliam optimizavimui. Jos zymimos
raidemis GM
(Global Minimum). Pavyzdziui GMJ2 reiskia Global Minimum Java 1.2.
Be to,
yra tiesinio programavimo sistemos LP (Linear Programming) Java
(skyrelis "LPJ") ir C++ (skyrelis "LPC") kalbomis,
Laiko eiluciu prognozavimo sistemos zymimos ARMA (Auto Regressive
Moving
Average). Yra Java (skyrelis "ARMA-GMJ") ir C++ (skyrelis "ARMA-GMC")
realizacijos.
Skyrelyje
AR-ABS realizuojamas netradicinis daugelio kintamuju autoregresinis
modelis minimizuojantis absoliucius nukrypimus
Skyriuje "Global Optimization" pateikiami pavyzdziai su tolydinais
kintamaisiais. Tai pusiausvyros radimas konkurenciniuoe Nash'o bei
Walras'o modeliuose,
optimalios investicijos, optimalus draudimas, optimali strategija
karineje
ir ekonomineje dvikovose, optimali kainu prognoze. Visiems sio skyriaus
uzdavinaims
tinka tos pacios globalaus optimizavimo sistemos, pavyzdziui GMJ1 bei GMJ2 .
Skyriuje "Discrete Optimization and Linear and Dynamic Programing" aprasomi diskretaus, tiesinio ir dinaminio programavimo charakteringi taikymai. Tai optimalus mokyklu tvarkarasciai School-PROFILED, optimali inspektoriaus strategija Bimatrix Game Problem: optimalus sprendimai nezinant kas bus ateity ("Isrankios nuotakos" uzdavinys), pavyzdziui Bride-Multi .
Renkantis savystovu darba pagrindinis kriterijus turetu buti darbo
idomumas, nes nuo to priklauso darbo rezultatai.
Geriausi rezultatai gaunami palaipsniui tobulinant pasirinkta darba,
todel temos parinktos taip, kad geriausius namu darbus butu galima
tobulinti toliau panaudojant ju rezultaus kaip pradzia bakalauro o
veliau ir magistro tezems.
Tas pacias temas galima vykdyti dviemis kryptimis:
teorine-matematine ir taikomaja-informatine.
Teoriniu atveju naudojami esami "darbo irankiai"- interneto
programos tinklapyje. Praktine teorinio darbo reiksme yra siu programu
testavimas bei teorinio modeliu tyrimas nustatant ju matematines
savybes bei praktinio pritaikymo galimybes. Elementarus testavimas
vykdomas lyginant formules su ju programine realizacija. Bendras
testavimas vykdomas sukuriant tokias modeliu aproksimacijas, kuriu
sprendimus galima rasti analitiniu budu bei sulyginant tai su programu
rezultatais. Tai rekalauja nemazos matematines kvalifikacijos bei
pradiniu Java kalbos ziniu.
JavaTutorial.pdf
Taikomasis kelias reikaluja geresnio interneto programavimokalbu
mokejimo . Pageidautina
ir tam tikra matematine-ekonomine kvalifikacija.
Dirbant sia kryptimi, sveikintinas nauju programu sudarymas atliekant
ju sulyginima su jau padarytomis
programomis bei nurodant nauju programu privalumus.
Vertingas programu C bei C++ kalbose tranformavimas i interneto
kalba Java,
tai ypac svarbu tiems optimizavimo metodams, kurie dar nera realizuoti
Java
kalboje.
Java 1.2 kalba kelis kartus greitesne, nes dirba "just-in-time"
kompiliavimo rezime, be to, turi papildomas grafines galimybes
naudojant 'swing' klases. Senesnes, Java 1.1 bei Java 1.0 kalbos dirba
letame interpretatoriaus rezime. Neziurint to, jos placiai naudojamos,
kadangi dauguma narsykliu dar "nemoka" Java 1.2.
Studentu bandymai panaudoti Java1.3 plug-in ne visada pavykdavo. Vis
tik, reiketu pritaikyti visas vertingas Java 1.1 programas darbui Java
1.2/1.3 aplinkoje, tai aktuali namu darbu rusis.
Aktualus namu darbas butu isbandyti video-konferencijas
individualiai, nurodant ataskaitoje tikslias prisijungimo technines bei
ekonomines salygas bei smulkiai aprasant individualaus rezimo pliusus
ir minusus.Darbo tikslas issiaiskinti kaip isvengi spalvu susiliejimo
perduodant vaizdus ir kaip pagerinti rysi su Litnet aplinka dirbant
videokonferencijos rezimu kitose aplinkose, pavyzdziui Omnitel, Bite,
Tele2. Spalvu susiliejimo rezultate vaizdas gali visiskai isnykti.
Pastebeta, kad Litnet aplinkoje video konferenciju rezimas dirba
normaliai, o kitose aplinkose -ne.
Sis namu darbas turetu buti individualus, kadangi butu tiriamas butent
individualaus darbo rezimas.
Svarbi namu darbu rusis yra esamu programu panaudojimas ir
pritaikymas gyvenimiskiems duomenims su isvadomis apie gautu rezultau
praktine verte. "Esamomis" vadinamos tiek sio puslapio programos tiek
ir naujai padarytos, jei ju autoriai sutinka bendradarbiauti. Sios
rusies darbai ypac naudingi studentams kurie noretu ne tik padaryti
namu darbus bet ir ismokti naudotis Java kalba (pabreziu "naudotis" o
ne programuoti).
Matematinio profilio studentams labai tiktu esamu programu
testavimas. Pirmas testavimo zingsnis butu nuodugnus sulyginimas
'stud2.pdf' formuliu
bei algoritmu su ju Java realizacija. Kitas zingsnis tai tokiu testiniu
uzdaviniu sukurimas kuriuos butu galima ispresti analitiniu budu.
Paprastai, tai daroma aproksimuojant sudetingas priklausomybes
paprastesnemis. Programos butu tikrinamos lyginant skaiciavimo
rezultatus su testiniu uzdaviniu sprendiniais.
Galimi ir tiriamojo pobudzio namu darbai nustatant sprendiniu
desningumus, pavyzdziui kada sprendinys egzistuoja, kokie faktoriu yra
pagrindinai ir pan.
Konkrecios uzduotys pasirenkamos savystoviai, butent tai kas
idomu paciam vykdytojui.
Tuos pacius uzdavinius galima vykdyti arba savystoviai, arba su kolegomis. Vykdant grupe, reikia tiksliai nurodyti ka kas padare, taip issaugant kolegu autorines teises.
Operatyvus destytojo-studentu bendravimas vykdomas Internet'o aplinkoje naudojant e-mail bei narsykles. Ypac patogu bendrauti kai studentai turi savo tinklapius.
Galima naudti standartines distancinio mokymo sistemas WebCT bei Luvit. Sios sistemos turi visas tinklapiu galimybes plius lankomumo statistika, diskusiju "klubus" bei kitas galimybes. Lankomumo statisitika leidzia destytojui ivertinti studento darbo intensyvuma semestro metu kas, aisku, turi itaka galutiniam ivertinimui.
Norint isbandyti Luvit, kreiptis: http://luvit.ktu.lt/
atsidarius tinklapiui pazymeti kursa OPTIMUM bei surinkti ten nurodyta
slaptazodi.
Norint isbandyti WebCT, kreiptis:
http://elinara.ktu.lt:4848
lange ID rasyti 'student'
lange Password rasyti 'student'
Siais atvejais busite "abstrakciais studentais".
Norint registruotis individualiai, reikia siusti e-mail tiesiog sistemu
administratoriams, nes tik jie turi registravimo teise:
Luvit, Kaune, Gytis Cibulskis
'[email protected]'
WebCT, Kaune, Vilma Kovertaite,
[email protected]
WebCT, Vilniuje, VU, prof. Abarius,
[email protected]
Bendrus pageidavimus siuskit
[email protected]
Aprasymuose naudojami standartiniai 'ps', 'pdf', 'html' bei 'txt'
formatai. Firminiai formatai, pavyzdziui, MS Word 'doc' nera patogus
kitose aplinkose.
Rasant 'ps' formatu reiketu patikrint atiitikima bendram standartui,
nes MS PS siek tiek nuo jo skiriasi. Tas pats tinka ir darbu
ataskaitoms bei
aptarimui.
Failai > 300 kB perduodami bei priimami naudojant anonimini ftp: optimum.mii.lt/pub - faila gauti optimum2.mii.lt/incoming- faila (tik nereikia kurti nauju direktoriju rasant 'incoming').
Smulkios mokymo programos su literaturos sarasais pridedamos.
Optimizavimo metodu programa pazymeta OM
, losimu ir rinkos teorijos OTLT .
1. Pervesti idomius darbus realizuotus individualiu kompiuteriu
kalboje C++, i kalba skirta darbui Internet aplinkoje ,
pageidautina naudoti Java 1.2/1.3 numatant galimybes keistis duomenimis
su nutolusiais vartotojais, pavyzdziui, naudojant 'cgi-bin' ,
'perl' bei 'servlet' darbo rezimus.
Vertetu atkreipti didesni uzdaviniu realizacijai Java Enterprise
Edition Java2sdkee
aplinkoje.
Konkreciu servlet pavyzdziai:
Knapsack
Example
Profiled School
Example
1.1. Papildyti metodais ir uzdaviniais GMC# optimizavimo framework
kalboje
C-sharp, pirmi rezultatai:
GMC#:
Global Optimization in C#,
a Set of Methods and Examples (for MS Windows)
1.2. Uzbaigti metodo 'nlp'pervedima is C++ kalbos (ziur "Software..." skyrius GMC, byla 'shit.C', bei skyrius GMJ1.2, byla 'Shitc.java') i kalba Java1.2. Tai ne vieno zmogaus darbas, nes 'shit.C' bei 'Shitc.java' kol kas isbandyti tik nesant ribojimu. Esant ribojimams, abu 'shit.C' ir 'Shitc.java' dar nesutvarkyti.
1.3. Pervesti metoda 'flexi' is C++ kalbos (ziur. "Software..."skyrius GMC, byla 'flexi.C') i kalba Java1.2. 'flexi' versija realizuota Java1.1 pagalba nenaudojant ribojimu (ziur. "Software..."skyrius GMJ1.1, byla 'Flexi.java'). Reikia tai padaryti Java1.2 naudojant ribojimus.
1.4. Apjungti sistemas GMJ2 ir GMJ2.2 i viena bendra sistema GMJ3 naudojancia Java1.3
2. Pritaikyti darbus skirtus Java1.1 tobulesneims Java1.2, Java1.3 bei Java1.4 versijoms panaudojant papildomas galimybes.
3. Papildyti darbus realizuotus Java kalboje galimybemis ivesti ir isvesti duomenis dirbant nutolusio vartotojo rezime naudojant 'cgi-bin' (ziur. pavyzdziui, "Discrete..." Skyrius School-COMPLETE ) kartu pervedant i Java1.2 bei aukstesnes versijas, isbandyti 'servlet' galimybes.
4. Isbandyti bei toliau tobulinti optimaliu investiciju uzdavini "Global ...", Skyrius Portfolio-GMJ2-Flexible naudojant testinius bei gyvenimiskus uzdavinius ir papildant failu isvedimo/ivedimo galimybemis naudojant cgi-bin ir servlet rezimus.
5. Tobulinti mokyklu tvarkarasciu programas, isbandant jas gyvenimiskuose uzdaviniuose.
5.1. Tradicinei mokyklai skirtas darbas aprasytas skyriuje "Diskrete.." skyrelyje School COMPLETE Galima tobulinti, pavyzdziui, ivedant skirtingus mokytoju langu svorius.
5.2. Profiliuotai mokyklai skirtas darbas aprasytas
skyriuje
"Diskrete.." skyrelyje ""
School-PROFILED Tobulinti
reiketu:
i. papildant ir patikslinant ribojimu ir baudu ivedimo grafine sasaja,
ii. papildant optimizavimo galimybes, pavyzdziui,
naudojant Simulated Annealing (SA)idejas ir optimizuojant SA parametrus
x_0, x_1 ir x_3, ijungus uzdavini kaip Task sistemoje GMJ2, ziur
stud2.pdf
skyrelis 4.8 ,
Optimization by Permutations
Diskusija aprasyta skyriuje "Diskrete.." skyrelyje ""
Discussions-MIMOSA-GMJ1
Tai sunki, taciau, svarbi ir idomi problema, todel, pageidautinas
grupinis programuotoju ir mokytoju darbas.
6. Tobulinti nuotakos uzdavini "Bride Problem"
6. 1. Krupsciai patikrinti visas "daugkartines nuotakos" uzdavinio
realizacijas, pavyzdziui Bride-Multi
sulyginant Java kodus su "stud2.pdf" algoritmais bei analyzuojant
testiniu ir gyvenimisku uzdaviniu rezultatus.
6.2. ivertinti nestacionaruma, t.y. vidutinio jaunkikiu gerumo kitima
laike-"trend" (jaunikiai laikui begant blogeja, PC-gereja)
6.3. ivertinti vektorini uzdavinio pobudi, skaliarizacijos bei kitais
budais, sudaryti grafine skaliarizacijos sasaja
6.4 pritaikyti dviems rezimamas:
i. "Demo" t.y. Monte Carlo modeliavimas
demontravimui
ii. "Expert" -ekspertine sistema, t.y. seima nuotakos isrankumo
funkciju priklausomai nuo turimo vyro gerumo ir potencialiu jaunikiu
skaiciaus.
6.5 Pritaikyti PC pirkimui (vienkartinio pirkimo versija ziur.
"Discrete..", Skyrius "Buy-an-PC) patikslinant daugelio faktoriu
skaliarizacijos vartotojo sasaja Bride-Multi
6.6 Patikslinti esamas busto pirkimo uzdavinio realizcijas, pavyzdziui Buy-an-Appartment sudarant
daugelio faktoriu skaliarizacijos vartotojo sasaja
6.7 Patikslinti esamas automobilio pirkimo uzdavinio realizacijas,
pavyzdziui Buy-a-Car sudarant
daugelio faktoriu skaliarizacijos ivertin
vartotojo sasaja
7. Tobulinti akciju birzos modeli (ziur 'stud2.pdf' Skyrius
"Exchange Rate Prediction", skyrelis , Stock Rate Game Model
). Sulyginti rezultatus su Lietuvos ir uzsienio akciju birzu kursais.
8. Tobulinti Nash'o modeli trims serveriams su koaliciju
stabilumo tyrimu (ziur 'stud2.pdf' Skyreliai "Nash Model" ir "Stable
Coalitions").
Esami darbai : Skyrius "Global...",
i. skyrelis, Nash-GMJG apraso
Nash realizacija Java1.1 kalboje nera galimybiu nustatyti
pelno funkciju iskiluma, be to, 'stud2.pdf' algoritmas nevisai tiksliai
realizuotas
ii. skyrelis
Coalition-COMPLETED: Nash
Coalition Problem- latest GMJ version: apraso apraso Nash modelio
realizacija nusakancia koaliciju stabiluma,
taciau optimizuojama ne taip kaip stud2.pdf,
be to, negalima tirti pelno funkciju iskilumo.
Sia prasme pavyzdziu galetu buti Walras'o modelis Java kalboje dviems
serveriams (ziur Skyrius "Global...", skyrelis Walras-GMJ1: Modelis perkeltas
i Java 1.2 kalba (ziur. "Software ...", Skyrus GMJ1.2.2:, archyvas
'gmj1.2.2.zip', katalogas /lt/ktu/gmj/tasks/, byla 'WalrasModel.java'
bei kitos 'Walras*.java' bylos). Taciau, Nash algoritmas kitas, todel
tokiu atveju reiketu viska atitinkamai perdirbti
bei prideti koaliciju stabilumo analyze.
9. Patobulinti Inspektoriaus uzdavinio realizacija, ziur.
"Discrete....", Skyrius Bimatrix
Game:) pagal teorini algoritma, ziur. 'stud2.pdf' Skyrius
"Inspection Model". Istirti bei toliau tobulinti apsikeitima duomenimis
su nutolusiais vartotojais nagrinejant gyvenimiskus uzdavinius
parenkant tinkamiausias islosimo funkcijas u(i,j) bei v(i,j).
Realizuoti pusiausvyros strategijas STS resursu optimizavimui, tikslu
eliminuoti neteisetus sanderius.
10. Sudaryti Java1.2 kalba ekspertine prognozavimo ir diagnozavimo
sistema.
Tam reikia padaryti kelis darbus:
i. tobulinti AR-ABS modeli su
"External Factors" (ziur 'stud2.pdf', Skyrius "EXCHANGE RATE
PREDICTION", skyrelis "Auto Regressive Models (AR-ABS) ")..
ii. Pritaikyti ji epilepsijos diagnozavimui ( ziur "Global...", skyrius
Epilepsy-ARMA:, tiesiogiai
naudojant EEG rezultatus
iii. patobulinti esama "Scale Models" Java realizacija. Jie gerai dirbo
prognozuojant call centro apkrovima (ziur 'stud2.pdf' Skyrius
Call Center- SCALES-JAVA:
iv. realizuoti Java 1.2 neironiniu tinklu modeli (teorija, ziur
'stud2.pdf', Skyrius "EXCHANGE RATE PREDICTION", skyreliai 6.1 ir 12.3
apie ANN, C programa, ziur. "Global ...", skyrius ANN-GMC:
).
Tobulinant prognozes ir diagnozes modelius reiketu:
a) vizualizuoti ivedamus bei isvedamus duomenis,
b) numatyti apsikeitima duomenimis su nutolusiais vartotojais
c) apjungti abi regresinio analyzo sistemas maziausiu kvadratu bei
maziausiu moduliu metodais
c) pritaikyti ARMA, AR, ANN bei SCALE modelius darbui vienoje
ekspertineje sistemoje
11. Isbandyti dvikovos sistemas, teorija ziur 'stud2.pdf', skyreliai
"Bimatrix Game"
ir "Economic Duel", programos
Bimatrix Game-:
ir
EcoDuel-Java2-Updated:
su gyvenimiskais duomenimis.
12. Realizuoti Java1.2 kalba optimalios dietos uzdavini, ziur. Dieta-LPJ: numatant patogu bendravima su nutolusiais vartotojais bei vektorinius vartotoju kriterijus, iskaitant skonio ir grozio faktorius ir atskirus pakaitalus
13. Isbandyti PERL ir C# kalbu privalumus bei trukumus sprendziant optimizavimo uzdavinius Internet'o aplinkoje.
14. Sutvarkyti bei uzbaigti GM sistemos realizacijas Pascal Delphi sistemoje, ziur. "Software...", skyrius GMP6:Global Optimization in Pascal .
15. Sutvarkyti bei uzbaigti GM sistemos realizacija MS Windows sistemoje, ziur. "Software...", skyrius GMCW:Global Optimization in C++,
16. Perl specialistams vertetu pradeti sistemos GM realizavima Perl
kalboje.
Tai grupinis darbas. Kadangi Perl dirba tik interpretatoriaus rezime,
tai reiketu sulyginti su atitinkama Java1.2 realizacija.
Pirmu zingsniu kuriant GMPerl galetu buti vieno uzdavinio, vieno metodo
ir vieno analyzo objekto realizavimas, svarbu tik kad tai butu pradzia
atvirai optimizavimo ir modeliavimo sistemai, numatant lengva kitu
metodu, kitu
uzdaviniu bei kitu analizavimo objektu prijungima bei panaudojima.
Dabar
tai geriausia padaryta sistemoje GMJ2. Svarbu numatyti galimybe
vartotojams
keistis duomenu failais su serveriu.
16.1 Perl kalboje jau padarytas "Portfolio" uzdavinys, ziur Portfolio-PERL,
taciau, sis modelis dar nesujungtas su optimizavimo sistema GMC,
optimizavimas, kol
kas, vykdomas elementariu Monte Carlo metodu.
17.Testi sistemos GMJ2 konvertavima i GMJC#
Svarbiu uzdaviniu sarasas bus reguliariai papildomas
Linkiu sekmes
Jonas Mockus