Simuloitu jäähdytys
Liuhonen, Oona (2024-12-04)
Simuloitu jäähdytys
Liuhonen, Oona
(04.12.2024)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe20241211101216
https://urn.fi/URN:NBN:fi-fe20241211101216
Tiivistelmä
Tässä tutkielmassa esitetään simuloiduksi jäähdytykseksi kutsutun optimointimenetelmän teoreettinen tausta sekä menetelmän yleinen toimintaperiaate. Simuloitu jäähdytys on metaheuristiikka. Tämä tarkoittaa sellaista heuristista menetelmää, jossa ohjeet menetelmän implementointiin on annettu niin yleisesti, että sitä voidaan soveltaa useiden erilaisten tehtävien ratkaisemiseen. Lisäksi simuloitu jäähdytys perustuu reaalimaailman ilmiöön, jossa kuuman metallipalan jäähdytysnopeus vaikuttaa jäähtyneen metallipalan taipuvuuteen ja haurauteen.
Työn alussa perehdytään ensin lyhyesti metaheuristiikkoihin ja kuvaillaan tarkemmin simuloidun jäähdytyksen yhteyttä metallin lämpökäsittelyyn. Lisäksi tarkastellaan lyhyesti Metropolisin algoritmia, joka on vahvasti simuloidun jäähdytyksen kehittämiseen vaikuttanut menetelmä. Simuloidun jäähdytyksen toiminnasta esitetään tarkemmin siinä käytettävät parametrit, jonka jälkeen menetelmän algoritmi esitetään sekä sanallisesti että pseudokoodina. Lisäksi menetelmän konvergenssituloksia kommentoidaan lyhyesti.
Simuloidun jäähdytyksen toimintaa on työssä havainnollistettu implementoimalla menetelmä toimivaksi Java-ohjelmaksi ja testaamalla sitä sudoku-tehtävien ratkaisemiseen. Lisäksi tutkielmassa tarkastellaan Java-ohjelmalla sudoku-tehtäville saatuja numeerisia tuloksia. Simuloidun jäähdytyksen implementointi sudokun tapauksessa esitetään mallintamalla sudoku optimointitehtävänä, ja tulkitsemalla mitä menetelmän eri parametrit tarkoittavat sudokun tapauksessa. Tämän perusteella on luotu Java-ohjelma, jonka avulla on testattu menetelmän toimintaa eri parametrivalinnoilla. Lopuksi pohditaan, mitkä eri asiat ovat voineet vaikuttaa saatuihin numeerisiin tuloksiin, ja päätellään, millaisia kokeita ohjelmalle kannattaisi suorittaa jatkossa.
Työn alussa perehdytään ensin lyhyesti metaheuristiikkoihin ja kuvaillaan tarkemmin simuloidun jäähdytyksen yhteyttä metallin lämpökäsittelyyn. Lisäksi tarkastellaan lyhyesti Metropolisin algoritmia, joka on vahvasti simuloidun jäähdytyksen kehittämiseen vaikuttanut menetelmä. Simuloidun jäähdytyksen toiminnasta esitetään tarkemmin siinä käytettävät parametrit, jonka jälkeen menetelmän algoritmi esitetään sekä sanallisesti että pseudokoodina. Lisäksi menetelmän konvergenssituloksia kommentoidaan lyhyesti.
Simuloidun jäähdytyksen toimintaa on työssä havainnollistettu implementoimalla menetelmä toimivaksi Java-ohjelmaksi ja testaamalla sitä sudoku-tehtävien ratkaisemiseen. Lisäksi tutkielmassa tarkastellaan Java-ohjelmalla sudoku-tehtäville saatuja numeerisia tuloksia. Simuloidun jäähdytyksen implementointi sudokun tapauksessa esitetään mallintamalla sudoku optimointitehtävänä, ja tulkitsemalla mitä menetelmän eri parametrit tarkoittavat sudokun tapauksessa. Tämän perusteella on luotu Java-ohjelma, jonka avulla on testattu menetelmän toimintaa eri parametrivalinnoilla. Lopuksi pohditaan, mitkä eri asiat ovat voineet vaikuttaa saatuihin numeerisiin tuloksiin, ja päätellään, millaisia kokeita ohjelmalle kannattaisi suorittaa jatkossa.