=SUMPRODUCT(A2:A21*B2:B21)
公式含義:
從這里我們可以看到,只要我們不斷的去把輔助列中1與0,做出各種組合,哪幾個數字相加為39121,通過無數次的組合,肯定可以被試出來。
Excel中就有這么一個功能,規劃求解,輔助列中1與0,做出各種組合,這個過程可以讓它去完成。
設置目標:就是=SUMPRODUCT(A2:A21*B2:B21)這個公式的單元格,這個公式代表了它的邏輯關系
設置目標到:39121,這個值是我們對=SUMPRODUCT(A2:A21*B2:B21)的要求,我們的要求是SUMPRODUCT(A2:A21*B2:B21)=39121
更換可變單元格:$B$2:$B$21,這個就是0與1變化的部分,只要目標SUMPRODUCT(A2:A21*B2:B21)結果為39121,$B$2:$B$21這里面的值讓Excel自己去測試
當然我們必須要求$B$2:$B$21里面只能顯示是1或0,所以我們要加一個“約束”,如果不加的話請看下圖
這樣就不行了,我們要的是整個數字,只有要或不要,1是要,0是不要。
bin代表了二進制,二進制大家都知道,就是0和1,我們給它的約束是結果必須只能為0或1。
正在計算,由于這種組合有無數多種可能,須要一點時間……
這種組合具體有多少種我們在義務教育時肯定學習過,就不展開講了。
我們篩選1,這些數字相加就可以得到39121,值得注意的是,規劃求解給出的是一個解,但不代表只有一個解。
3379 |
3379 |
相加等于
6758 |
其實有2個解。
補充一點:
像我們這種情況沒有必要精度到0.000001
0.001都用不完
這樣的話推理速度會快上很多很多。
展示一個財務案例
公司有4種產品
這是制造產品需要的原材料配方
如果我們手上有1500塊錢,分別可以生產多少個?
A生產10個,剩下的錢生產BCD,可以生產多少個?
=SUMPRODUCT(C2:C4*B2:B4)*B7+SUMPRODUCT(D2:D4*B2:B4)*B8+SUMPRODUCT(E2:E4*B2:B4)*B9+SUMPRODUCT(F2:F4*B2:B4)*B10
這個很好理解吧,就是
都是0所以ABCD生產總成本為0
計算出的這個數值只要是近似值即可,我們手工微調一下數值
如果A產品必需生產10個,剩下的錢才能生產BCD,我們就加一個約束條件
有時候按某個成本反推生產數量,呵呵,你懂的。
結束
歡迎轉載:http://www.kanwencang.com/bangong/20161221/75750.html
文章列表