Maximering av det totala täckningsbidraget inom ett producerande företag med hänsyn till maskinkapacitetsbegränsningar.
av Peter Lohmander
Version 2002-04-10

Nedan finns länkar till två alternativa numeriska lösningar av samma problem. Som illustration tänker vi oss ett litet företag som kan producera två alternativa produkter med hjälp av två befintliga maskiner (avdelningar). Det gäller att maximera det totala täckningsbidraget under ett år.

Tabell 1.

Produkt

Pris per styck

Rörlig kostnad per styck

Tid i maskin 1 (M1)

Tid i maskin 2 (M2)

X1

110 KSEK

70 KSEK

4 tim

10 tim

X2

110 KSEK

50 KSEK

8 tim

5 tim

Från förutsättningarna i Tabell 1. räknar vi ut att täckningsbidragen per styck blir 40 KSEK för X1 och 60 KSEK för X2.
Summa täckningsbidrag = Målfunktionen = 40 X1 + 60 X2. Eventuella fasta kostnader (är per defintion fasta och) påverkas ej av våra produktionsbeslut. De beaktas därför ej i målfuktionen.

Vi har två maskiner (avdelningar) i företaget, M1 och M2. Båda produkterna behöver bearbetas i båda maskinerna (avdelningarna) i enlighet med informationen i Tabell 1. Maskinernas kapacitet per år är 1000 timmar (effektiv tid för produktion inom vårt företag). Den tid som åtgår för service, underhåll och uthyrning till andra företag är redan borträknad.

Man kan maximera det totala täckningsbidraget via linjär programmering (LP). Problemet definieras således:

--------------------------------------
max TB = 40X1 + 60X2

subject to

  4X1 + 8X2 =< 1000

10X1 + 5X2 =< 1000
--------------------------------------

Problemet kan lösas med simplexmetoden eller alternativa metoder. Man kan lösa det grafiskt och/eller via tabellmetoder. Det finns en stor mängd alternativa böcker som beskriver hur man hanterar optimeringsproblem av olika slag. Det finns en stor mängd alternativa datorprogram som hanterar sådana optimeringsproblem. Två exempel är LINDO och LINGO.

En fördel med LINDO och LINGO är att man kan ladda ner "små" gratisversioner direkt via INTERNET från LINDO.com. Man kan även köpa in versioner av de programmen som kan hantera problem som är praktiskt taget hur stora som helst. (Beslutsproblem med hundratusentals delvis sammanlänkade beslut kan hanteras via större versioner av LINDO och LINGO.) LINDO och LINGO löser stora problem snabbt. LINGO kan programmeras med sets, loopar och alla tänkbara slags funktioner, vilket gör formuleringen generell, tidsmässigt effektiv och kompakt. För små problem spelar det vanligen ingen större roll vilket program man använder.
 

Två alternativa lösningar av samma problem:

LINDO och LINGO inkluderar hjälp-tangenter och/eller exempel-filer vilka man kan använda för att lära sig mer om olika möjligheter. Det rekommenderas naturligtvis att man verkligen lär sig teori och metod via bra kursböcker i optimering och tillämpningar. Studera gärna hur man formulerar problemet och hur den optimala lösningen ser ut via dessa två länkar:

LP via LINDO

LP via LINGO
 

 

www.Lohmander.com