Re: [問題] 機率問題
看板Prob_Solve (計算數學 Problem Solving)作者TonyQ (骨頭)時間17年前 (2007/10/01 07:44)推噓1(1推 0噓 1→)留言2則, 2人參與討論串2/11 (看更多)
※ 引述《xu3jp68 (信箱爆炸..XD)》之銘言:
: ※ [本文轉錄自 C_and_CPP 看板]
: 作者: xu3jp68 (信箱爆炸..XD) 看板: C_and_CPP
: 標題: [問題] 機率問題
: 時間: Thu Sep 27 16:02:22 2007
: 這問題是這樣,(i,j)
: i:我手上有幾顆蘋果
: j:客人要買幾顆蘋果
: 而我能做的事情就是,決定我每一期要訂購幾顆蘋果以滿足顧客的需求,
: _____ (0,0)
: / _____ (0,1)
: (0,0)/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: \ _____ (1,0)
: \ _____ (1,1)
: 所以上圖表示的是說限在我手上沒有蘋果,這一期也沒人來買,
: 假設我下一期決定要訂購0顆蘋果則我有p1的機率走到(0,0),有p2的機率走到(0,1)
: (即圖的上半部)p1+p2=1
: 假設我下一期決定要訂購1顆蘋果則我有p1的機率走到(1,0),有p2的機率走到(1,1)
: (即圖的下半部)p1+p2=1
: 也就是說我要訂購蘋果的數量是我能掌握的,可是顧客要買多少是有機率性的
我覺得這個背景好像還敘述的不夠嚴謹 , 所以我加上一點假設 .
其實這段話可以反過來看 由於你兩個都是說p1跟 p2
所以我假設不管我買多少個 顧客想買多少的機率都是固定的
(但是我不見得有東西能賣它)
然後還有一個假設是 當顧客需求大於我手邊所擁有的數量的時候
我就不能賣 , 而我的目標是要盡量避免這個狀況 .
最後 , 庫存是個成本 , 所以也要盡量避免有多餘的庫存 .
不然就一次買進最大值慢慢銷就好了 , 客戶永遠不會買不到 , XD
在這樣的狀況下去算最佳進貨量的期望數字。
另外我假設訂購數量是無上限最低為0的整數 ,(不考慮手邊沒錢買不起的狀況)
還有客戶可能訂購的最大數量為 m (不然就算不完了)
然後假設 y[i][j]是 (i,j)的獲利狀況 (目標是求得最大獲利)
根據題意而言
(i , j) 以及 m 要算出最大訂購量(假設x)
其實假設獲利是跟賣出的個數成正比的話 ,
我是覺得應該要先計算出下一個顧客訂購數量的期望值
然後減掉 原先所擁有的數量應該就是正解?
m
x= Σ k* p(k) - i
k=0
如果獲利跟賣出的個數不是成正比,
找出 k in max( k* p(k) * y[k][k] )
(這裡假設顧客需求量一定的狀況下 , 進貨量=顧客需求量時為獲利最大值)
k的範圍一樣是 0~m 最後去掉原本就擁有的數量 就是應該訂購的數量
這是照"蘋果交易" 的環境下所做出來的推論啦 ,
不過我是不曉得在你的這種環境下 ,y[0][1]跟 y[0][0] 會有甚麼差異
(因為買不到所以有負面評價所帶來的隱藏成本?)
上面有蠻多假設的 , 如果有不合事實的地方再翻出來討論 ,
其實我會覺得你既然要定義環境 , 把這些資料全部給齊會好一點 .
以上 , 瞎子摸象做出來的猜猜樂 , 不對莫怪~
: 分別為y[0][0],y[0][1],y[1][0],y[1][1]
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: for(i=0;i<=1;i++) //i目前手中的蘋果數
: {
: for(m=0;m<=2;m++) //m購買的蘋果數
: {
: for(j=0;j<=1;j++) //下一期顧客的需求
: {
: sum=0;
: temp=-10000000;
這裡temp位置很明顯是有問題的
每次跑進j的迴圈都會reset ,
: sum+=probability(j)*y[i][j]; //假設需求機率函數已寫好,把所有需求情況加總
: if(temp<=sum)
: {temp=sum,a_m=m;} //a_m為購買蘋果數量的變數
: v[i][j]=temp;
: cout<<v[i][j];
: cout<<a_m;
: } } }
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: 照理說他應該顯示
: (0,0) 最佳購買數量a_m
: (0,1) 最佳購買數量a_m
: (1,0) 最佳購買數量a_m
: (1,1) 最佳購買數量a_m
: 顯示種類應該是i*j種(因為我只想知道最佳購買數量)
: 機率的部分一定要用迴圈寫,因為到最後會有很多可能目前只是縮小來看。
: 不過迴圈這樣寫就是有i*j*m,所以請問邏輯上有什麼錯誤呢?感謝。
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 語 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼 *◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂~telnet://tony1223.no-ip.info
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.77.252
※ 編輯: TonyQ 來自: 59.115.77.252 (10/01 07:46)
※ 編輯: TonyQ 來自: 59.115.77.252 (10/01 07:49)
推
10/01 14:24, , 1F
10/01 14:24, 1F
→
10/01 19:01, , 2F
10/01 19:01, 2F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30