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