Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Intressant problem från jobbet

Postades av 2008-02-07 08:18:52 - Per Persson, i forum matte/fysik/beräkna, Tråden har 17 Kommentarer och lästs av 2035 personer

Ställdes inför följande problem på jobbet och trodde först att det skulle bli omöjligt att lösa, men det var ett problem som passade mig så det har gått bra:

Problemet: Vilket pris skall en butik ta för en vara för att få önskad marginal?

Bakgrundsfakta:
Butiken har två kostnader för varan: ersättning till leverantör och ersättning till distributör.
Ersättningen till leverantören (inköpspriset) utgörs av en procentsats av säljpriset inkl moms eller av säljpriset exkl moms, dock minst ett visst belopp.
Ersättningen till distributören utgörs av en procentsats av säljpriset inkl moms, av säljpriset exkl moms eller av inköpspriset, dock minst ett visst belopp.
Butiken önskar nu en marginal om en viss procentsats, dock minst ett visst belopp.

Kan väl låta er slippa googla efter definitionen av marginal...
Marginalens belopp definieras som säljpriset exkl moms minus summan av kända kostnader (här: ersättning till leverantör och ersättning till distributör)
Marginalen som procentsats definieras som (100 gånger) marginalens belopp dividerat med säljpriset exkl moms.


Hur enkel/snabb/fin programmeringslösning kan ni hitta?


(Extrauppgift: Som om detta inte skulle vara nog, skulle procentsatsen för ersättningen till leverantören kunna bero av säljpriset. Hur skall man göra då?)


Svara

Sv: Intressant problem från jobbet

Postades av 2008-02-07 15:52:50 - Martin Adrian

Rent spontant känns det som om det inte går att räkna ut.

Marginalen borde alltid bli 100-lev%-dist%

(Förutom då minimibeloppen används)


Svara

Sv:Intressant problem från jobbet

Postades av 2008-02-07 17:03:09 - Per Persson

<b>Rent spontant känns det som om det inte går att räkna ut.</b>

Jodå, jag har lyckats sätta upp en formel, så att jag i princip kan räkna ut det rakt av.


Svara

Sv: Intressant problem från jobbet

Postades av 2008-02-07 18:14:51 - Patrik Löwendahl

om du visar formeln så kan jag skriva kod för det.


Svara

Sv:Intressant problem från jobbet

Postades av 2008-02-07 19:03:23 - Per Persson

<b>om du visar formeln så kan jag skriva kod för det.</b>

Då missar du ju stora bitar av utmaningen... Hur kul är det?

Utmaningen kan sägas bestå av fyra delar:
1) hitta en ekvation (olikhet) för ett specialfall
2) få ihop alla möjliga fall i ekvationen
3) lösa ekvationen
4) implementera lösningen i kod


Svara

Sv: Intressant problem från jobbet

Postades av 2008-02-10 14:37:12 - Martin Adrian

>><b>Rent spontant känns det som om det inte går att räkna ut.</b>
>Jodå, jag har lyckats sätta upp en formel, så att jag i princip kan räkna ut det rakt av.

Då måste jag har missat något. Kanske är det bara svammel men så här resonerade jag:

För att göre det enkelt antar vi att vi bara har en som skall ha betalt. Låt oss kalla honom tillverkaren.
(skippar momsen också sålänge)

Låt oss anta att tillverkaren vill ha X% och vi vill ha Y%'

Om tillverkaren får X% så får vi 100-X% oavsett vilket pris vi tar.
Det finns såldes 3 fall att hantera

- om Y = 100-X så blir priset

Priset = max(vårminimimaginal, tillverkarensminimibelopp) / X

- Om Y > 100-X så går det inte.

- Om Y < 100-X så blir priset.

Priset = tillverkarensminimibelopp / (100-Y)

Det jag menade med att det inte går att räkna ut är jag inte kan få mer än 100-X% marginal. Det går att få mindre än 100-X% men varför skulle jag ställa upp på det. Låter som ett osunt förhållande mellan parterna tycker jag.


Svara

Sv:Intressant problem från jobbet

Postades av 2008-02-10 15:15:33 - Per Persson

<b>Det jag menade med att det inte går att räkna ut är jag inte kan få mer än 100-X% marginal.</b>

Självklart går det inte ihop sig om parterna totalt vill ha mer än 100% av säljpriset. Men under förutsättning att problemet är lösbart, hur ser lösningen ut?


Svara

Sv: Intressant problem från jobbet

Postades av 2008-03-27 23:25:59 - Per Persson

Jag börjar med att ge er ekvationen för ett specialfall:

Ersättningen till leverantören är p*100% av säljpriset exkl moms, dock minst a SEK.
Ersättningen till distributören är q*100% av säljpriset exkl moms, dock minst b SEK.
Butiken önskar nu en marginal om r*100%, dock minst c SEK.

Antag att det sökta säljpriset exkl moms är s SEK.

Ersättningen till leverantören blir max(p s, a) SEK.
Ersättningen till distributören blir max(q s, b) SEK.
Marginalen blir därmed s - max(p s, a) - max(q s, b) SEK.

För att butiken skall bli nöjd, skall alltså gälla
s - max(p s, a) - max(q s, b) >= max(r s, c)

Ekvationen kan skrivas om som
max(p s, a) + max(q s, b) + max(r s, c) <= s

Uppgiften är alltså att finna s. Parametrarna p, q, r, a, b och c är givna.


Svara

Sv:Intressant problem från jobbet

Postades av 2008-03-28 09:24:09 - Niklas Jansson

Så långt kom jag i mitt 10-minutersförsök när tråden startades, men tänkte inte på det självklara i att använda max() istället för "cases". :-)

Blev för svårarbetat och hade inte tid. Om vi tar det lite lugnt nu kanske det går lättare. I princip ser det ju ut som ett ganska enkelt problem, rent grafiskt.


Svara

Sv: Intressant problem från jobbet

Postades av 2008-03-28 09:38:41 - Niklas Jansson

Okej, vi har tre punkter s1, s2, s3, som är brytpunkterna mellan konstant och linjär, dvs
a = p s1 => s1 = a/p
s2 = b/q
s3 = c/r

Vi kallar nu a, b, c för a1, a2, a3, och p, q, r för p1,p2,p3.
Om vi nu flyttar om de olika talen så s1<s2<s3, så får vi fyra intervall.
[0, s1]
[s1, s2]
[s2, s3]
[s3, \inf]

Däremellan får vi olika funktioner f0, f1, f2, f3 (orkar inte skriva upp dem, men det blir ju tämligen enkelt, bara summor av linjära funktioner och konstanter). Sen löser man fi(s) = s, och får noll, en eller två punkter där detta är uppfyllt. Noll punkter leder till att man aldrig klarar det, en till att det bara är där man kan uppfylla det, två till att hela det intervallet är ok. (Där kan man också hitta den punkt som ger maximal vinst.)

Tre eller fler punkter får man inte såvida man inte har negativa p_i.


Svara

Sv:Intressant problem från jobbet

Postades av 2008-03-29 13:04:12 - Per Persson

<b>bara summor av linjära funktioner och konstanter</b>

Du menar en affin funktion? http://sv.wikipedia.org/wiki/Affin_funktion


Hur får du nu fram lösningen, dvs det s som ger önskad marginal?


Svara

Sv: Intressant problem från jobbet

Postades av 2008-03-29 14:35:13 - Niklas Jansson

Ja, jag menade egentligen verkligen bara att den är uppdelad i ett antal ps och a-funktioner.

Lösningen får man väl helt enkelt genom att lösa fi(s) = s, för varje intervall I_i, vilket oftast ger ett intervall


Svara

Sv:Intressant problem från jobbet

Postades av 2008-03-29 14:46:33 - Per Persson

Hur får du fram brytpunkterna?

Kan du skriva lösningen mer utförligt?


Svara

Sv: Intressant problem från jobbet

Postades av 2008-03-29 16:27:36 - Niklas Jansson

Okej alltså, först gör vi omskrivningen jag skrev,
<citat>
Vi kallar nu a, b, c för a1, a2, a3, och p, q, r för p1,p2,p3.
</citat>
sen definierar vi brytpunkterna s1 = a1/p1, osv.
<citat>
Om vi nu flyttar om de olika talen så s1<s2<s3, så får vi fyra intervall.
[0, s1]
[s1, s2]
[s2, s3]
[s3, \inf]
</citat>
Så vi skiter i vem som får vad, det avgörs av kvoten ai/pi. Den som börjar bli linjär först heter a1, osv.

Så funktionen vi har är
f(s) = { f_1(s) om s \in [0 s1], f_2(s) om s \in [s1, s2], osv. }

Sen löser vi f(s) = s, ett steg i taget:

f_0(s) = s ?
f_0(s) = a1 + a2 + a3 = s
Alltså har vi en lösning där om a1+a2+a3 < s1.

f_1(s) = s ?
f_1(s) = p1 s + a2 + a3 = s ?
s(1-p1) = a2+a3
s = (a2+a3)/(1-p1)
om detta ligger i [s1, s2] så har vi en lösning där,

och vidare för f_2 har vi
s = a3 / (1-p1-p2) som måste ligga i [s2, s3]

för f_3 har vi bara lösningen s=0 om p1+p2+p3 != 1, annars har vi alla efterföljande som lösningar.


Svara

Sv:Intressant problem från jobbet

Postades av 2008-04-05 12:14:21 - Per Persson

Det borde vara ett korrekt sätt att lösa det. Vad jag funderar över - men inte hunnit kolla närmare på - är om det alltid ger samma resultat som den metod jag använde.

Utgående från olikheten
max(p1 s, a1) + max(p2 s, a2) + max(p3 s, a3) <= s
drog jag efter en stund slutsatsen att följande åtta olikheter skall vara uppfyllda:
p1 s + p2 s + p3 s <= s
p1 s + p2 s + a3 <= s
p1 s + a2 + p3 s <= s
p1 s + a2 + a3 <= s
a1 + p2 s + p3 s <= s
a1 + p2 s + a3 <= s
a1 + a2 + p3 s <= s
a1 + a2 + a3 <= s

Ur dessa löser jag ut olikheter för s:
s >= 0 [under förutsättning att p1 + p2 + p3 <= 1]
s >= a3/(1-p1-p2)
s >= a2/(1-p1-p3)
s >= (a2+a3)/(1-p1)
s >= a1/(1-p2-p3)
s >= (a1+a3)/(1-p2)
s >= (a1+a2)/(1-p3)
s >= a1+a2+a3

Det minsta s som uppfyller dessa villkor ges av
s = max(
0,
a3/(1-p1-p2),
a2/(1-p1-p3),
(a2+a3)/(1-p1),
a1/(1-p2-p3),
(a1+a3)/(1-p2),
(a1+a2)/(1-p3),
a1+a2+a3
)
I det här fallet, när man har ett litet antal varianter, kan man ju skapa alla manuellt. Annars går det förstås även att skapa dem automatiskt.


Svara

Sv: Intressant problem från jobbet

Postades av 2008-04-05 15:36:13 - Niklas Jansson

Men där testar du ju en massa fall som aldrig kan vara korrekta?

p1 s + a2 + p3 s <= s
p1 s + p2 s + a3 <= s

Kan ju aldrig finnas för samma tuppel (a1, a2, a3, p1, p2, p3)?


Svara

Sv:Intressant problem från jobbet

Postades av 2008-04-05 21:28:12 - Per Persson

Menar du att de båda villkoren inte kan gälla samtidigt?

Kan du hitta a1, a2, a3, p1, p2, p3 där min metod och din metod inte ger samma s?


Svara

Sv: Intressant problem från jobbet

Postades av 2008-04-06 22:47:08 - Niklas Jansson

Vet inte hur jag ska uttrycka det. Vad jag menar är att vi får fyra intervall, på de två mittenintervallen så har vi 3 val av funktion (det är nog binomialfördelat). Men det är bara en av funktionerna som är relevant.
Så det är "typ" så att villkoren inte kan gälla samtidigt.

Jag tror det blir precis samma svar. Du gör mer så att du ritar upp 8 funktioner, och hela tiden väljer den maximala, medan jag ritar upp fyra funktioner på varsitt intervall, som motsvarar din "maximala".


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 873
27 965
271 770
530
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies