Dagbok – examensarbete Vecka Datum v52 v51 v50 v49 v48 v47 v46 v45 v44 v43 v42 v41 v40 v39 v38 v37 v36 Noteringar Tid i h Planerat slutdatum: 2001-12-14 – kommer förmodligen att revideras. 2/9 5/9 6/9 v35 7/9 29/8 30/8 31/8 v34 21/8 v33 24/8 13/8 14/8 1 Kristina Lundgren Fortsätter läsa i ”Oracle PL/SQL Programming” Forts Kapitel 8 – Packages Förberedelse implementation, kontroll av ”ny” dator. Förbereder handledningsmöte 2001-09-07. Sammanställer manuella noteringar och skriver dagbok, reviderar tidsplan och ägnar tid åt planering. Fortsätter läsa i ”Oracle PL/SQL Programming” Kapitel 9 – Triggers Kapitel 10 – Error Handling Kapitel 11 – Objects Förberedelse implementation. Handledningsmöte etc Fortsätter läsa i ”Oracle PL/SQL Programming” Kapitel 7 – Subprograms: Procedures and Functions Kapitel 8 - Packages (Byte av dator och ominstallation av programvara) Fortsätter läsa i ”Oracle PL/SQL Programming” Kapitel 6 –Cursors 5 2,5 5,5 ? 1 4 5 2,5 1 Läser i boken ”Oracle PL/SQL Programming” 7 Kapitel 1 – Introduction to PL/SQL PL/SQL Basics Installerar programvara från boken ”Introduction to Mathematical Programming” – MATHPROG Studerar hur man definierar de olika ingående delarna i 7,5 SIMPLEX-metoden: Decision variables Value of objective-function Feasible region Constraint-boundary line 2017-07-14 Dagbok – examensarbete v32 v31 – v28 v27 Objective-function line Optimal solution 15/8 Slack variables 16/8 Fortsätter läsa i ”Oracle PL/SQL Programming” Forts kap 2 – PL/SQL Basics Kapitel 3 - Records and Tables Kapitel 4 - SQL within PL/SQL Kapitel 5 – Built-in SQL Functions 6/8 Läser i ”Introduction to Mathematical Programming”. Speciellt om SIMPLEX-metoden och dess olika varianter. Läser färdigt, det som i nuläget, är intressant i boken ”Database Programming with JDBC and Java”. 7/8 Bestämmer mig för att läsa om PL/SQL eftersom min handledare, 8/8 PlaniQ anser att jag primärt ska implementera med hjälp av detta ”språk”. Jag reviderar mitt tänkande och intresserar mig för Oracle PL/SQL mm. 1/7 2/7 3/7 4/7 2 Kristina Lundgren 4 6 3 4 9 SEMESTER – litteraturstudier i ”Introduction to Mathematical Programming”, bok inköpt i början av juli. 5 Läser hemma i den nyinköpta boken ”Database Programming with JDBC and Java”. Lägger in Jörgens simplexkod i min maskin. Koden är i C och kommer ligga till grund för vidare övningar i optimering. Läser i boken ”Principles of Operations Research” - > sid 99. Köper boken ”Introduction to mathematical programming”. Fortsätter att läsa i PofOR och kommer fram till att jag ånyo måste försöka lära mig mer matematik för att kunna till fullo förstå vad som händer. Läser/repeterar det jag tidigare läst om Simplex hos Multisimplex; http://www.multisimplex.com och TutOR; http://www.tutor.ms.unimelb.edu.au/simplex_intro/ Hittar bra länkar om matematisk programmering i Java på internet via http://java.sun.com http://sofwaredev.earthweb.com/devtools/sdjavplat/print/0,,12298 _631201,00.html , http://softwaredev.earthweb.com/java/sdjjavee/print/0,,12396_63 1281,00.html http://softwaredev.earthweb.com/sdtech/sdsdtse/print/0,,12330_7 88311,00.html samt http://softwaredev.earthweb.com/java/sdjjavase/article/0,,12395_ 762441,00.html Tankar ner klassbibliotek för matematisk programmering i java – Jama och Jamalab. – finns nu på den bärbara datorn. Anmäler mig till ett antal newsletter samt OpsResearch.com http://OpsResearch.com/memberServices.html användarnamn: flowermoon login: krRQ2dNS Läser vidare i den boken ”Database Programming with JDBC and 2 6,5 5,5 8 2017-07-14 Dagbok – examensarbete 5/7 v26 27/6 28/6 v25 18/6 19/6 20/6 v24 21/6 11/6 12/6 13/6 14/6 15/6 v23 3 7/6 Kristina Lundgren Java”. Testar Javainstallation i den bärbara. Läser hur det ska gå till och försöker få det att fungera. Här behövs mer tid! Läser i senaste ”Java Developers Guide”. Packar upp klasserna och testar inställningar. Fortsätter att läsa i ”Database Programming with JDBC and Java” Läser på http://OpResearch.com -sidorna och finner ett javabibliotek som inkluderar Simplex-metoden. Detta innebär att jag förmodligen kan använda denna för mitt första större test. Parallellt med matematisk programmering, bör jag undersöka möjligheten till att hämta indata ifrån databas via JDBC. Fortsätter med MindQ – Tutorial, samt läser lite på ”The Java Tutorial” från Sun Avslutar MindQ – Tutorial. Noterar länktips från MindQ. Surfar runt o kollar några länkar (om det finns något intressant). Påbörjar ytterligare en Tutorial från MindQ: Developer Training for Java”. ”MindQ – Tutorial” används nu för att komma igång med Java & Oracle. Mycket instruktiv och samtidigt som jag läser skriver jag noteringar över ”obekanta” ord. Fortsätter ”Tutorial”. Fortsätter ”Tutorial”. Skriver ut ”Java in Oracle9i Application Server” för genomläsning (kan vara av intresse – mycket kodexempel). Fortsätter ”Tutorial”. Veckan ser god ut för exjobb. Jag ska nu läsa mera och även försöka med några test. Boken ”Oracle 8i Java Developer’s Guide” avslutas och jag börjar istället läsa ”JDBC Developer’s Guide and Reference”. Startar användandet av JDeveloper. Beställer boken ”Database Programming with JDBC and SQLJ” för att kunna läsa på ”semestern”. (ingen rast – ingen ro) Uppdaterar dagboken och lägger ut på internet. Kontaktar Christer, Mdh, och bestämmer att vi ska träffas i v.33 eftersom sommarsemestrar står för dörren samt att jag bevisligen kommit igång. Fortsätter att lära mig använda JDeveloper. Det verkar speciellt intressant med Enterprise JavaBeans, CORBA och COM-objekt som kopplas till databasen mha Java. Arbetet med JDeveloper fortsätter och jag installerar ny Oracle databas i version 8.1.7.0 för att denna ska kunna stödja Javautvecklingsarbetet. Startar också en extern ”Tutorial” för JDeveloper – MindQ. Fortsätter med ”Tutorial” från MindQ. Skriver ut och börjar läsa i ”SQLJ Developer’s Guide and Reference”. (parallell läsning med JDBC-dok?) Stressad vecka pga arbete och tentor. Läser lite kort i boken, men gör inga speciella noteringar. Skjuter arbetet framåt i tiden. Diskuterar kort med Jörgen om mitt arbete. ”Matematiken” läggs åt sidan och jag inriktar mig på att göra kopplingen mellan Java 7 2 7 7 1 2 3 6 8,5 6 4 3 1,5 2017-07-14 Dagbok – examensarbete v22 28/5 29/5 30/5 v21 22/5 v20 14/5 15/5 16/5 v19 7/5 8/5 9/5 4 Kristina Lundgren och Oraklet. Fortsätter kapitel 3 ”Oracle 8i Java Developer’s Guide” – Utilizing SQLJ and JDBC for Querying Database. Noterar skillnaden mellan SQLJ och JDBC SQLJ – för statisk SQL JDBC – för dynamisk SQL Fortsätter läsning och noterande. Kapitel 4: Java Installation and Configuration. Planerar installationen och testkörning. Läser om CLASSPATH och andra inställningar. Provar lite Börjar läsa kapitel 5: Security and Performance – avsnittet lite avancerat i detta stadie – fortsätter senare. Installation av Jdeveloper och fortsätter att läsa i ”Oracle 8i Java Developer’s Guide”. Noterar om hur man förbereder och laddar in klassbiblioteken i Oracle Rättigheter Loadjava Förkortade klassnamn i Oracle mm Kapitel 2: Invoking Java in the database Skriver ut Appendix A – Tools för vidare läsning senare Skriver ut artikel ”An overview of SQLJ: Embedded SQL in Java”. Artikeln skummas igenom och läggs till handlingarna. Inleder läsning av ”Oracle 8i Java Developer’s Guide” Noterar och skriver upp viktiga detaljer. Fortsätter läsningen och noterandet. Se vidare dokument ”Noteringar från Oracle Dokumentation.doc”. Fortsätter läsandet och noterandet. Noterar fakta om JavaBeans samt COM-objekt – förmodligen av vidare intresse för arbetet. Kapitel 2: Writing Java Applications on Oracle 8i. Oracle’s virtuella Javamaskin “Aurora”. Installationsdag. Eftersom datakapacitet och verktyg måste vara i funktion för framtida utveckling och testning av optimeringsjobbet påbörjar jag nu en ominstallation och rensing av en dator på jobbet. Under arbetets gång läser jag i Oracle dokumentation: ”Application Developer’s Guide and Fundamentals” (640 s). Fortsätter installationsarbetet. Det strular, många verktyg vill inte komma på rätt plats och verkar vara i konflikt med varandra. Till slut funkar det efter att jag gått igenom otal ”Oracle skivor”. Fortsätter läsa i Oracle dokumenation – från sid 50 i ”Application Developer’s Guide and Fundamentals”. Nu har arbetet kommit in på Java & Oracle. Jag börjar lära mig hur Java och Oracle hör ihop, men det krävs många timmar och sena nätter för att komma igenom allt material. Jag hittar en ”bra” javabok på Oracle Jdeveloper skivan och kommer att återkomma till denna senare. Jag fortsätter också läsa i ”Application Developer’s Guide Fundamentals” – Kapitel 1: Understanding the Oracle Programmatic Environment. Det handlar om OCI, C/C++, Cobol 8,75 5,5 2,25 4,75 2 5 7 8 8,75 3,5 2017-07-14 Dagbok – examensarbete 10/5 11/5 13/5 v18 2/5 3/5 5 Kristina Lundgren och Java. Här får jag en hänvisning till följande litteratur för vidare studier: ”Oracle8i JDBC Developer’s Guide and Reference” samt ”Oracle8i SQLJ Developer’s Guide and Reference”. Jag tankar ner båda böckerna för vidare studier. Jag har också installerat Jdeveloper på datorn och Jdeveloper beskrivs som ett grafiskt gränssnitt som medger SQLJ översättning. Verkar vara rätt väg att gå. Några frågor dyker upp: Ska man använda OCI (Oracle Call Interface) eller en förkompilator? Sammanfattar i dagboken och uppdaterar hemsidan. Måste skriva och fråga om loggboken om det är rätt som jag gör. Fortsätter arbete hemma under veckoslutet. Läser JAVA-programmering i hemmet. Försöker sätta mig in i lite djupare övningar för bättre förberedelse till implementation. Programmerar vidare och studerar specifika intressanta klasser. Arbetar endast onsdag och torsdag i Lotorp. Tillbaka på kontoret i Lotorp. Det är onsdag eftermiddag och jag planerar nu sitta o läsa ett par artiklar och sedan fundera över schemaläggningen. Det vart 3 timmars arbete. Jag inledde arbetet med att läsa artikeln ”Advances in Design and Implementation of Optimization Software”. Utifrån artikeln skrev jag noteringar och tittade på ett par länktips. Vad är viktigt för mitt arbete – jmfr med artikeln: - teorin bakom optimeringsalgoritmer. Jag måste skumma och läsa igenom ett par verkliga exempel. - ha/skaffa mig förståelse om programmering i C++/Java samt databaser (dvs kontroll och PL/SQL). - förståelse om problemområdet. Vad är det vi ska optimera? Försök beskriva med ord som senare kan leda till en sorts definition av mitt problem. - Välj ut ett optimeringsverktyg (alternativt flera). Jag kan nu börja intressera mig för följande: - simplex metoden. Hur den används för flera typer av optimeringsproblem. - interior point metoden. På vilket sätt kan den ha relevans? Det finns flera typer av verktyg som kan användas. Akademisk mjukvara, dvs matematiska modelleringsverktyg, samt kommersiella system som löser en mängd av problem (använder sig av flera algoritmer). Noteringar med fler punkter finns… Därefter läste jag ”länktipsen”: ”Decision Tree for optimization Software” vilken handlade om testcases. ”The GAMS Systems” – General Algebraic Modeling System, dvs en akademisk programvara (?). Verkar intressant. Kanske jag ska göra ett algebraisk exempel i exjobbet – dvs en beskrivning över hur problemet ska optimeras – matematiskt. Arbetet påbörjades genom att jag gick igenom gårdagens arbete och renskrev mina noteringar. Uppdaterade dagboken. 1 2 3 3 5,25 2017-07-14 Dagbok – examensarbete Kristina Lundgren Därefter skrev jag ut ”An Introduction to Linear Programming and the Simplex Algorithm” – för att läsa igenom på tågresan hem (alt senare). Påbörjade även omläsning av ”LP FAQ” (rev mars 2001) för att se om det finns några nya infallsvinklar. Sid 1 – 6 – fortsätter senare. Funderade mera på hur jag ska fortsätta. Tog en ny titt på MAIsidorna på Linköpings universitet och hittade ett par intressanta nya länkar: v17 6 26/4 Laddade ner ett antal artiklar för genomläsning: ”Supply Chain Optimisation in the Paper Industry” – intressant. De startade med en kort introduktion och senare gick de over till att formulera en modell över problemet. Sedan övergick de till att mappa över till ett specifikt problem: Flödeskedjan som kräver kännedom om tillverkningsprocessen (känns det igen?). Därefter gick de in på en mer generell matematisk beskrivning av problemet. Lade till vilka begränsningar som skulle tas hänsyn till och kom så fram till sin ”Objective Function” – målfunktionen! Sedan talade de om hur modellen, PIVOT, ska användas. De bestämde sig för att använda ett modelleringsspråk. De använde sig av två kommersiella verktyg: AMPL och Cplex 6.5. (kolla upp senare). Syftet med arbetet var att skapa alternativa produktionsplaner som sedan skulle användas som beslutsstöd. Metoden valdes till ”mixed integer programming” för att producera produktionsplaneringssystem och produktallokeringsmodellen. MEN! för att kunna förstå problemrymden krävs god branschkännedom. Hur ska jag göra!? – Jag bör ta till mig en beskrivning som jag sedan ska implementera. Jag ska inte kunna processen – bara förstå den i det stora hela. Vad ska jag göra nu? Optimeringsmetoden bör väljas i samförstånd med Jörgen – vi måste diskutera. Jag kan presentera vad som finns och han får hjälpa till… ? Tills vidare bör jag förflytta koncentration till Java, C++ och ODBC koppling. Nästa vecka bör jag starta med Java i ORACLE… Sök information och börja läs! Torsdag och klockan går… jag har ont om tid att hinna med exjobbet. SAPA-projektet tycks ta allt för mycken av min tid. Allmänt lite strul på jobbet och jag är jätteförkyld. Tar en kort 2017-07-14 Dagbok – examensarbete 27/4 v16 16/4 17 – 19/4 v15 v14 v13 26/3 28/3 7 Kristina Lundgren redovisning imorgon hos handledaren. Skriver ut min reviderade tidsplan och uppdaterar kortfattat dagboken. Fortsätter arbetet i helgen. Möte med handledare i Västerås kl 10. Följande noteringar gjordes: Gör en arbetsfördelning, dvs schemalägg exjobbet. Gör färdigt projektarbetet kommande vecka och gör därefter en ordentlig schemaläggning Möte med handledare MdH och Jörgen inte förrän i höst Kontakta Thomas L. angående opposition på annans exjobb. Välj själv ut ett från listan och gör en intresseanmälan. annandag påsk. Jag surfar runt hemifrån och hittar mycket intressant som jag skriver ut till pärmen. Går igenom de länkar som jag funnit hemifrån och sätter en länklista i pärmen samt plockar ut följande utskrifter: ”Linear Programming FAQ” eftersom det har publicerats en ny. Oracle och Java – http://www.oracle.com/java/content.html Oracle Technology Network – Jdeveloper – http://technet.oracle.com/products/jdev/listing.htm (är redan medlem i technet – id: flowermoon pwd: kristina) Dictionary of Algorithms, Data Structures, and Problems – http://hissa.nist.gov/dads/ Reviderar tidsplanen och skriver i dagboken. Påsklovsvecka – semester med mina barn. Ansökning till optimeringskurs LiTh höstterminen, hoppas jag nu får möjlighet att delta i denna. Pratar med Waldemar Kojcan och får lite tips om nya infallsvinklar. Han berättar även att sics, Swedish Institute of Computer Science, kan erbjuda sina tjänster för framtida utredningsprojekt hos PlaniQ – låter intressant. http://www.sics.se Waldemars mail: [email protected] .W:s tips: Constraint programming Branch and Bound Branch and Cut Jobshops Carmen systems Tyvärr var det fullt upp med SAPA-jobb så jag fick inte mycket tid över för att arbeta med exjobbet. Hittade dock en hel del intressanta länkar i ämnet och läste lite i den nya optimeringsboken. Funderar på veckans upplägg. Bestämmer diskussionsmöte med Jörgen på fredag (hemma efter besöket hos Pronyx). Uppdaterar dagboken. Surfar runt och läser ett antal länkar. Skummar igenom ”kursen” om Fuzzy logic ”fcourse1.2” (finns på disk). 2017-07-14 Dagbok – examensarbete v12 20/3 21/3 22/3 24/3 v11 8 16/3 17/3 Kristina Lundgren Fick svar ifrån LiTh om optimeringskurs och fick reda på att det går en speciell optimeringskurs för dataloger från och med höst. Fick tips om att söka just denna. Frågade Jörgen om råd och han tyckte att jag skulle göra det. Tar nu reda på hur ansökan ska gå till eftersom kursen saknas i kurskatalog/saknar hemsida. (Se mail ifrån Maud Gothe-Lundgren). Hämtar hem info om icke-linjär programmering, skriver ut och sätter i pärmen för vidare läsning. Börjar dokumentera så smått för respektive område: Linjära problem Heltalsproblem Flödesproblem Läser hemma i boken ”Operation Research” samt den nyinköpta boken. Inser ännu mer betydelsen av att utforska operationsanalys samt mera studier i matematik. Efter många om och men var det äntligen dags att börja på allvar. Tidsplanen reviderad. Exjobbet beräknas färdigt v 50. Dagboken uppdateras. Börjar läsa på NEOS- och LP FAQ-sidor (utskrift från nätet). Fortsätter läsa NEOS – och LP FAQ-sidorna. Tittar på NEOS guide och inser betydelsen av operationsanalys och linjär programmering. Beställer boken ”Optimisation Software Guide” från Bol. Studerar ”Multisimplex”-sidorna och försöker finna samband. Optimala punkten = Objective function? Tittar på Stochastic-programming och inser att det förmodligen att det ska återkomma. Lämnar förfrågan om gratisex. av tidskriften ”Automation”. Maliar Baran Curuclu och frågar om ”finländarna”. Hittar en bok om Linjär programmering på bokhyllan (något gammal). Börjar läsa i boken ”Principles of Operation Research”. Undersöker Baran’s tips och inser att det är ”rätt” avancerat. Sparar infon ”self-organizing maps” och sätter in i pärmen för vidare studier. Tar kontakt med LiTh, se mail, om möjligheten till kursdeltagande i ”grundkurs i optimeringslära”. Skriver ut info och kompletterande material. Surfar runt på internet (hemifrån) och letar mer information. Hittar information om Fuzzy Logic och matematiska länkar. Tidsplanen revideras inför mötet. Möte med handledare Christer Sandberg. 10-12. Vi diskutera upplägget och beslöt oss för regelbundna möten var fjärde vecka. Christer ansåg att det var lämpligt att utvärdera flera optimeringsalgoritmer och inte låsa sig vid en enda. Därför revideras nu arbetet med att omfatta analys, implementation och utvärdering av ett antal algoritmer. Detta kommer i och för sig inte medföra några problem, utan bara höja kvalitén på arbetet. Inför nästa möte kontaktar jag Christer för lämpligt datum. Jag 2017-07-14 Dagbok – examensarbete v10 9/3 ~v0 8 v09 v06 28/2 9 Kristina Lundgren bör därför kontakta honom v 16 för möte 2001-04-20 Officiell exjobbstart. Besökte Monica Wasell och diskuterade hur registreringen skulle gå till. Lämna handlingar till Jan Gustafsson. Fick besked att exjobbet inte skulle få genomföras förrän jag klarat av rest på datalogi samt en mattetenta. PROBLEM! Efter korrespondens så löstes det genom att de gav mig dispens. Mycket jobbigt!!!! Skriver första raderna i dagboken. Examensarbetet är ännu ej registrerat. Jag väntar på att Jan Gustafsson, Mdh, ska höra av sig om han hittat en handledare åt mig. Förra veckan hade jag möte med honom och han meddelade att han ställer upp som examinator, men hänvisar handledandet åt någon annan. Hans förslag, tillika Thomas Larssons, är Boel Almér. Jag funderar på att maila Boel och kolla om Jan har pratat med henne. Tar hand om det imorgon (fredag) när jag befinner mig på plats i Västerås. Själva ”pappersexercisen” tål att undersökas hur man gör. Ska man bara fylla i blanketten? För hand eller med skrivmaskin. Mailar Monica och frågar. Kanske är det institutionssekreteraren (?) som har hand om det? I början av denna vecka har jag skapat en tidsplan. Mycket gissningar och det är inte så lätt att tidsuppskatta. Får se hur man hanterar det hela. Ska leta efter instruktioner (tips) hur man gör. 2017-07-14