詳細需求與分析

2021-04-09 03:18:31 字數 3166 閱讀 6832

我們公司的求最優化問題可能與其它求最優化問題有些差別,因為它無論是輸入資料還是輸出資料,都是在excel電子**上進行的,**如下:

序號        長度

合計

切割數

實用長

源料長

用料數

餘料

處理

1             1058      57                                      

2             1028      1311                                         

3             989        684                                    

4             1040      513                                    

5             1180      57                                      

6             1233.5   57                                      

7             1311      57                                      

8             875        114                                    

9             837        57                                      

10            978       57                                      

11            866      57                                      

12            50         4212

「長度」與「合計數量」例的資料是已有的,「源料長度」是使用者輸入的,其它4個例要用程式來計算。每一例與每一例之間都有一一的對應關係,也有優先順序。當使用者輸入源料長度後,程式先計算"切割數",求切割數的公式是:切割數=int(源材料長度/(長度+切割鋸縫))(切割鋸縫等於5),假設當使用者輸入源材料長度為5350,那麼序號1的切割數是 {int(5350/(1058+5))=5}(取整,忽略小數字),切割數求出來後,就接著求"實用長"。{實用長=((長度+5)*切割數)};實用長後是"用料數"。{用料數=合計數量/開料數};求出用料數後是求「餘料」。{餘料=源料長度-實用長}。所以它們的求解順序是:切割數->實用長->用料數->餘料。人工求解很簡單,但如果是在程式裡來計算,那就難了。因為在人工的運算過程中,開料人員不斷判斷、不斷優化,以求最優的開法,但程式卻無法像人那樣,所以開發這樣的程式有很大的難度。上面的求解關係很簡單,但卻有種種的限制:(1),要求餘料是浪費得最少的,一般是在50或100之間;(2),對於「用料數」不足一支的情況下,可以忽略餘料,比如下表的長度為1200的那一行,用5950的源料長度來開,但因為用料數為0.50小於1,所以那怕餘料為1110也可以忽略不計。(3),「合計」例數量最多的要優先求解,因為這是乙個關於最優化的問題,當需求的數量很大的時候,它所用到的材料就需求很多,如果不把餘料控制好,將會造成很大的浪費。(所以公司的要求是:把合計數量最多的(比如100支以上的)優先計算,剩下的數量需求不多的用「多級套料法」。注:多級套料法在下文解釋)(4),對源材料長度的種類限制,一般是限制4種(種類限制的意思是:比如6000為一種,5000為一種,4500為一種,4000為一種,總共是4種)。(5),程式根據使用者限制的種類優先計算合計數量最多的長度,然後把數量少的用多級套料法,所謂的多級套料法只是我們在開發過程中的乙個代名詞,它真正的原理是組合。在多級套料中使用者規定一種源料長度,用它來開所有「合計數量」少的長度,它原理是這樣的:上表有長度1233.5,如果用5000來開它,餘料是46,所以它是最優的,但此時卻不能用5000來開它,因為使用者已經規定了只能用6000來開它,用6000開了以後它的餘料是1046。為了不造成浪費,把餘料1046拿來開上面與它最接近或少於它的長度,比如1040。用式子表示的話可以如下表:

(1233.5+5)*4+(1040+5)*1=5999(餘料是6000-5999=1)

(1127+5)*4+(539+5)*1+(839+5)*1=5916 (6000-5916=84)

(924+5)*6+(343+5)*1=5922

(6000-5922=78)

(1192+5)*5=5985

(6000-5988=12)

(539+5)*11=5984

(6000-5984=16)

(6),當所有的長度都得到最優解後,還要一一對應的輸到excel**中去。至於採用多級套料法的,把組合的那些都寫到「處理」例去。如下表

長度        合計

切割數

實用長

源料長度

用料數

餘料

處理

1450

2             4             5840       5950              0.50       110 

1085

12           4             4380       5950              1.50       1570       1450=1

1085

8             4             4380       5950              2.00       1570       1500=2

1200

2             4             4840       5950              0.50       1110

1630

18           2             3280       5950              9.00       2670       650=36

1630

12           2             3280       5950              6.00       2670       650=24

1630

4             2              3280       5950              2.00       2670       650=8

詳細需求分析的節奏

對原型我們要做到心中有乙個藍圖,提到某乙個頁面就能知道這個頁面中的關鍵元素。這個對我們理解系統和後面的詳細分析很有幫助。這個過程我們不必考慮實現只需要腦子裡有這麼乙個 結構就行啦。前面我們已經抽取過了主流程圖以及核心業務物件,但是我們沒有細扣原型中的每乙個元素的來龍去脈,這個步驟就是做這件事,從一下...

軟體需求與分析 問題賬戶需求分析

案例 某大銀行的一位銀行卡辦公室的收賬經理liz遇到了乙個問題。她每週都收到乙份過期未付款的賬戶名單。這份報告已經從兩年前的250個賬戶增加到現在的1250個賬戶。為了確定那些嚴重拖欠債務的賬戶,liz需要通讀這份報告。嚴重拖欠債務的賬戶由幾個不同的規則確定,每個規則都要求liz檢查客戶的一項或幾項...

需求管理與分析 需求池

產品經理 會聆聽使用者聲音進行需求收集 但是真正的需求需要我們去優化。真正優化的應該是從需求的收集 到最終形成功能融入到產品 中的這個過程。下面做乙個簡單科學的流程。一 需求收集 從使用者 市場 競品 同事 朋友等渠道無差別收集各類問題 建議 與想法,另外通過資料分析和解讀出來的需求也可以新增進去。...