當前位置:
首頁 > 最新 > Solver 初探:找硬幣問題

Solver 初探:找硬幣問題

規劃

Excel 中的 Solver(求解器)也叫「規劃求解器」,是一個功能非常強大的插件(Add-Ins),可用於工程上、經濟學及其它一些學科中各種問題的優化求解,使用起來非常方便。

今天我們先來看一個最簡單的動態規劃實例——最少硬幣問題,並通過這一問題來初探Excel 中的 Solver。

最少硬幣問題

最少硬幣問題的一個例子描述如下:假設你有面值為 1 美分、5美分、10美分、25美分的硬幣(1 美元 = 100 美分),然後要用儘可能少的硬幣湊n美元。

假設n為 0.83 美元,相信你想到的肯定是 3 個 25 美分、1 個 5 美分、3 個 1 美分,總共 7 枚硬幣。

那麼,如果方便地用 Excel 中的 Solver 工具,來得出以上結果呢?

啟用 Solver 插件

Solver 是 Excel 自帶的插件,不需要單獨下載安裝。但 Excel 默認是不啟用 Solver 的,Office 2016 for Mac 版下的啟用方法如下:

在「工具」菜單中點擊「插件」

在 Solver Add-In 前面的方框中打勾

然後點 OK,Excel 就會載入 Solver

GIF/1K

一旦啟用成功,以後 Sovler 就會在「工具」菜單中顯示,也會出現在「數據」選項卡中。

Windows 系統中的其中方法如下圖。

編製 Excel 表格

按照下面的方式編製一個 Excel 表格。

相應的硬幣金額列在 B1、C1、D1、E1 單元格中,B2、C2、D2、E2 單元格中將給出的數值就分別是 25 美分、10 美分、5 美分、1 美分的硬幣個數:

給出所需的總金額(G2 單元格):

「計算出的總金額」,按照下表和下面的公式:

H2 單元格,公式為 =SUMPRODUCT(B1:E1,B2:E2),也就是B1*B2+C1*C2+D1*D2+E1*E2,用 SUMPRODUCT 公式可以簡化上面的表達式

「硬幣總數」,按照下表和下面的公式:

I2 單元格,公式為=SUM(B2:E2)

運用 Solver 求解

從數學的角度來看,所需求解的方程組(所需滿足的條件)如下:

「所需總金額」 = 「計算總金額」(G2 = H2);

B2、C2、D2、E2 可以填入的數值是大於或等於零的整數;

在滿足以上兩個條件的情況中,硬幣的總數要最少,即 I2 為最小的可能值

打開 Solver 工具,將以上條件輸入到其中:

設立目標,即 I2 單元格的數值最小

同時確定數值可變的單元格,即 B2 至 E2 單元格

GIF/1K

增加三個條件

a) B2 至 E2 單元格的數值為整數

b) B2 至 E2 單元格的數值 >=0

c) G2 = H2

GIF/2K

完成各種輸入後就可以 Solve 了,不過因為我們設定了「整數」條件,因此在點擊 Solve 按鈕之前別忘了取消「忽略整數限制」這一選項。看一下具體操作和結果吧:

GIF/2K

感謝您的

關注和閱讀

碎片化學習,每天進步一點點

短小的技巧性文章,幫助您更好地工作和學習

Excel、PPT、Word 講解

各類電腦/智能手機小技巧

英語和各種小知識

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 JustinXu博士 的精彩文章:

TAG:JustinXu博士 |