Mid Sweden University

miun.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Dataoptimering via linjär programmering: Tillämpning av linjär programmering för kostoptimering
Mid Sweden University, Faculty of Science, Technology and Media, Department of Information Systems and Technology.
2020 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [sv]

Linjär Programmering (LP) är ett effektivt optimeringsverktyg som har en central del vid minimering eller maximering. LP kan även användas småskaligt för individuella problem som att välja vad vi borde äta. Detta förutsätter att LP är effektivt nog för att kunna lösa kostbaserade problemformuleringar och därmed är målet att undersöka dess potential till att lösa den typen av problem. Den här studien utforskar detta genom att optimera ett blandningsproblem där data som används i projektet är nutritionsdata hämtat från en livsmedelsdatabas. En inledande studie gjordes för att skapa en vision över vilka komponenter som är mest önskvärda i projektet. Därefter skapades kravspecifikationer som konkretiserade nödvändig funktionalitet. De viktigaste komponenterna som identifierades för projektet var dels hur man ställer upp ett korrekt LP-problem med nödvändiga bivillkor, och den andra faktorn var hur man använder en dynamisk storlek av bivillkor. Två lösningar valdes för att tillsätta samtliga bivillkor: Iteration och Rekursion. Att använda iterering beslutades vid nära slutet av projektet då rekursionen visade sig vara oeffektiv för uppgiften. Tidmätningar genomfördes för att undersöka vilken metod som var effektivast och itereringen var en klar vinnare över rekursionen. Detta beror på att anropsstacken blir snabbt överbelastad i Python vid rekursion och därmed är itereringen en bättre lösning för projektet. Resultatet visar att det finns potential inom LP till att lösa kostbaserade problemformuleringar.

Abstract [en]

Linear Programming (LP) is an effective optimization tool that has a central part in minimizing or maximizing. LP can also be used on a small scale for individual problems such as choosing what we should eat. This presupposes that LP is effective enough to be able to solve diet-based problem formulations and thus the goal is to investigate its potential to solve that type of problem. This study explores this by optimizing a mixing problem where the data used in the project is nutritional data retrieved from a food database. An initial study was done to create a vision of which components are most desirable in the project. Subsequently, requirements specifications were created that concretized the necessary functionality. The most important components identified for the project were partly how to set up a correct LP problem with necessary side conditions, and the second factor was how to use a dynamic size of side conditions. Two solutions were chosen to add all the side conditions: Iteration and Recursion. The use of iteration was decided at near the end of the project as the recursion proved to be inefficient for the task. Time measurements were performed to examine which method was most effective and the iteration was a clear winner over the recursion. This is because the call stack quickly becomes overloaded in Python during recursion and thus the iteration is a better solution for the project. The results show that there is potential within LP to solve diet-based problem formulations.

Place, publisher, year, edition, pages
2020. , p. 46
Keywords [sv]
Dataoptimering, linjär programmering
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:miun:diva-39727Local ID: DT-V20-G3-010OAI: oai:DiVA.org:miun-39727DiVA, id: diva2:1464062
Subject / course
Computer Engineering DT1
Educational program
Master of Science in Engineering - Computer Engineering TDTEA 300 higher education credits
Supervisors
Examiners
Available from: 2020-09-04 Created: 2020-09-04 Last updated: 2020-09-04Bibliographically approved

Open Access in DiVA

fulltext(1135 kB)465 downloads
File information
File name FULLTEXT01.pdfFile size 1135 kBChecksum SHA-512
d3c85344f7bd1cec1dec23db1eeb634846a8de70fbcb37daef897b4a2f7945dd2ee07ad1b9a33e366ad55f160e9bf78076e81238b54706ddb080fd0b48f8c4b9
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Norén, Björn
By organisation
Department of Information Systems and Technology
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 465 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 348 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf