Ukjent program med kostnader for produksjon

Ukjent program med kostnader for produksjon

For en bedrift er kostnaden KK i kroner ved produksjon av xx enheter per uke av en varetype gitt ved

K(x)=0,2x2+140x+7000K(x)=0{,}2x^2+140x+7000

Bedriften har laget følgende program.

def K(x): 
	return 0.2*x**2 + 140*x + 7000

v = 260
h = 0.001
x = 0

while (K(x + h) - K(x))/h < v:
	x = x + 1

print(x)

Hva blir resultatet når programmet kjøres? Hva forteller dette svaret bedriften?

Fasit

300 fordi K(300)=260K'(300) = 260

Løsningsforslag

Løkken kjører så lenge den numeriske tilnærmingen til vekstfarten er under v=260v = 260. Uttrykket

K(x+h)K(x)h\frac{K(x+h)-K(x)}{h}

er den numeriske deriverte av KK i punktet xx, og med h=0,001h = 0{,}001 er dette svært nær K(x)K'(x).

Vi finner K(x)K'(x):

K(x)=0,4x+140K'(x) = 0{,}4x + 140

Løkken stopper ved første hele xx der K(x)260K'(x) \geq 260. Vi løser

0,4x+140=260    0,4x=120    x=3000{,}4x + 140 = 260 \implies 0{,}4x = 120 \implies x = 300

Verifikasjon: K(299)=0,4299+140=259,6<260K'(299) = 0{,}4 \cdot 299 + 140 = 259{,}6 < 260, så løkken kjører videre til x=300x = 300. Da er K(300)=0,4300+140=260K'(300) = 0{,}4 \cdot 300 + 140 = 260, og den numeriske tilnærmingen K(300,001)K(300)0,001260,0002260\frac{K(300{,}001)-K(300)}{0{,}001} \approx 260{,}0002 \geq 260, slik at betingelsen blir falsk og løkken avslutter.

Programmet skriver ut 300\textbf{300}.

Praktisk tolkning: Når bedriften produserer 300\underline{\underline{300}} enheter per uke, er grensekostnaden 260kr260 \, \mathrm{kr} — det vil si at den ekstra kostnaden ved å produsere én enhet til er akkurat 260kr260 \, \mathrm{kr}. Programmet finner det minste produksjonsnivået der grensekostnaden når 260kr260 \, \mathrm{kr}.