Re: [問題] 機率問題

看板Prob_Solve作者 (骨頭)時間16年前 (2007/10/01 07:44), 編輯推噓1(101)
留言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
所以結果問題是甚麼啊 XD
10/01 19:01, 2F
文章代碼(AID): #1703JiSp (Prob_Solve)
討論串 (同標題文章)
文章代碼(AID): #1703JiSp (Prob_Solve)