NAMU DARBAI
  JONAS  MOCKUS
 

  jonas2@optimum2.mii.lt



 

ADRESAI
TIKSLAS
PRIEMONES
PROGRAMINE IRANGA
BENDRI PAGEIDAVIMAI
NAUJI DARBAI


ADRESAI

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:
donatas.raisutis@ktu.lt,
8.27 300625 .

Konsultacijos: jonas2@optimum2.mii.lt

TIKSLAS

Sistema skirta studijoms tu disciplinu kurios yra susije su optimizavimu, tame skaiciuje, operaciju tyrimas, losimu ir rinkos teorija ir ypac,  ju  praktiniai taikymai.

PRIEMONES

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.

PROGRAMINE IRANGA

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 .

BENDRI PAGEIDAVIMAI
 

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
'gcyb@sc.ktu.lt'
 

WebCT, Kaune, Vilma Kovertaite,
vilmako@internet.ktu

WebCT, Vilniuje, VU, prof. Abarius,
Povilas.Abarius@kf.vu.lt
Bendrus pageidavimus siuskit
jonas2@otiimum2.mii.lt

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 .

NAUJI DARBAI

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