# Optimointilaskenta tuotekehityksen apuna - Savonia-AMK

> Specsoft -sovellus yhdistää useita tuotekehityksen menetelmiä yhteen sovellukseen ja hyödyntää optimointilaskentaa.

## Specsoft-hanke
EU:n osarahoittamassa Specsoft-hankkeessa kehitetään teknologiateollisuuden tuotekehityksen käytänteisiin perustuva sovellus, jolla hallitaan uuden tuotteen konseptointiprosessi aina tuoteominaisuuksien määrittelystä teknisten suunnittelutavoitteiden asettamiseen. Konseptointisovelluksen ytimen muodostaa QFD:nä (Quality Function Deployment) tunnettu menetelmä, jolla asiakasvaatimukset muunnetaan suunnitteluvaatimuksiksi. Sovellus räätälöidään yritysten tarpeisiin ja sitä täydennetään ongelmanratkaisu- ja simulointimenetelmillä. Specsoftiksi nimetty sovellus kehitetään yhteistyössä yläsavolaisten kone- ja laiterakentajien kanssa sen käytettävyyden varmistamiseksi.

## Tuotekehityksen menetelmien yhdistäminen
Specsoft-sovellus yhdistää usean tuotekehityksessä käytettävän menetelmän, kuten QFD:n (Quality Function Deployment), AHP:n (Analytic Hierarchy Process) ja Kano-mallin, yhteen sovellukseen. Työkalun tavoitteena on löytää kehitettävän tuotteen asiakastyytyväisyyden näkökulmasta paras suunnitteluvaatimusten kombinaatio, huomioiden tekniset vaatimukset ja rajoitteet sekä lisääntyvät kustannukset ja niiden vaikutukset.

## Suunnitteluvaatimusten hallinta ja optimointi
Kehitettävä tuote, kuten kaivinkone tai traktorin lisälaite, käsittää satoja tai tuhansia suunnitteluvaatimuksia. Systemaattista tuotekehitystä varten näistä on valittava ja priorisoitava ne, joilla saavutetaan haluttu kehitysnäkökulma, kuten asiakastyytyväisyyden parantaminen tai valmistuskustannusten pienentäminen.

Kun kehitykseen valittavat vaatimukset on rajattu, on määriteltävä tavoitetasot minimi- ja maksimiarvojen välillä. Optimointilaskenta tarjoaa ratkaisun tavoitetason määrittämiseen, jotta vältetään liian matalat tavoitteet tai ylimääräiset kustannukset, joita syntyy, jos kaikki vaatimukset kehitetään huippuunsa.

## Optimaattorin kehitys ja algoritmit
Aiemmassa BisTech-hankkeessa kehitetty Excel-pohjainen testiversio toimi pohjana, mutta sen rajoitteet (kuten laskentakaavojen monimutkaisuus ja Excelin optimointiominaisuuksien epävarmuus) johtivat tarpeeseen siirtää toimintaperiaate web-sovellukseen.

### Algoritmien valinta
Frontline Systems Inc:n Excel Solver tarjoaa kolme algoritmia:
*   **Simplex LP:** Lineaariseen laskentaan.
*   **GRG Nonlinear:** Lokaalin optimaalisen ratkaisun etsimiseen.
*   **Evolutionary:** Globaalin optimaalisen ratkaisun etsimiseen.

Specsoftin optimaattorin on kyettävä löytämään globaali maksimi epälineaarisessa tapauksessa. Evolutionary-algoritmi perustuu geneettisiin algoritmeihin, joissa luodaan alkupopulaatio ja muodostetaan uusia sukupolvia, kunnes lopetuskriteerit täyttyvät.

### Lisäkustannusten mallinnus
Epälineaarisuutta laskentaan tuo suunnitteluvaatimusten parantamisesta aiheutuva kustannusten kasvu, joka ei välttämättä ole lineaarista. Optimaattorissa käytetään Craig Kirkwoodin *Strategic decision making: multiobjective decision analysis with spreadsheet* -teoksessa esitettyä kaavaa lisäkustannusten kertymisen arviointiin.

## Toteutus Pythonilla
Ohjelmoitavan optimaattorin kehityksessä päädyttiin Python-kieleen sen laajan kirjastovalikoiman ja dokumentaation vuoksi.
*   **NumPy:** Matriisilaskentaan.
*   **SciPy:** Optimointialgoritmien (Differential Evolution, Minimize, Brute Force) hyödyntämiseen.

Testauksessa Python-pohjainen optimaattori tuotti yhteneväisiä tuloksia Excel Solverin kanssa. Kehitystyön tuloksena saatiin ohjelmoitava optimaattori, joka on integroitu osaksi Specsoft-websovellusta.