整數規劃模型Excel 求解的簡化方法 [摘 要] 整數規劃是一類典型的線性規劃問題。對於這類問題, 運籌學中已有解決的方法,但比較繁瑣。本文利用excel 軟體的“規 劃求解”工具,對整數規劃問題求解的模型建立和求解作了較詳盡 的論述。 [關鍵詞] 整數規劃問題 excel 規劃求解 整數規劃是線性規劃中的一類典型問題,應用於解決生產實際的 許多問題,有著廣泛的應用前景。對於這類問題,運籌學中已有解 決方法,如分枝定界法、窮舉法等,但很繁瑣。也有藉助於matlab、 mathematics 和 lingo 等軟體求解,但專業性太強。相比之下,excel 功能強大,漢化水平高,選單操作方便,擁有大量的函式、公式等, 不需專門購買和安裝。為解決整數規劃問題提供了一種很好的工 具。本文結合例項說明利用在excel 軟體中“規劃求解”工具,建 立數學模型並求解整數規劃問題。 1 “規劃求解”工具 microsoft excel 的“規劃求解”工具取自於leon lasdon 和allan waren 共同開發的非線性最最佳化程式碼。“規劃求解”是execl 中的一 個載入宏。 1.1 安裝 “規劃求解” 載入宏是excel 的一個可選安裝模組,在安裝microsoft excel 時,系統預設的安裝方式不會安裝宏程式,只有在選擇“完全/定製安裝”時才可選擇安裝這個模組。如果採用“典型安裝”,則“規 劃求解”工具沒有安裝 ,就必須重新啟動office 安裝程式並且選 擇excel 選項,在載入宏區段中選擇 “規劃求解”,然後進行安裝。 1.2 載入“規劃求解” 安裝了“規劃求解”之後,在“工具”選單下可能仍然找不到“規 劃求解”,此時您可以選擇“工具/載入宏”,在開啟的“載入宏” 對話方塊中選中 “規劃求解”複選框,確定後,就可以將“規劃求 解”命令新增到“工具”選單欄中了。 2 整數規劃的一般模型 整數規劃是線性規劃的特殊情形,它的變數x 僅取整數,其數學 表示式有標準式、縮簡形式、向量式、矩陣式等多種表現形式。本 文只討論標準形式,具體表達式如圖1。 3 例項及求解過程 例1:某工廠有資金13 萬元用於購置新機器,可在兩種機器中任 意選購,已知機器a 每臺購置費2 萬元,機器b 每臺購置費4 萬元。 該廠維修能力只能維修7 臺機器b;若維修機器a,1 臺折算2 臺機 器b。購置1 臺a 可增加年產值6 萬元,1 臺b 可增加年產值4 萬 元,問應購置a 和b 各多少臺才能使年產值增加最多? 第一步,建立數學模型(如圖2)。第二步,建立整數規劃問題的 電子表格模型(如圖3)。 第三步,選定可變單元格和目標單元格,輸入目標函式和約束條 件。選定可變單元格,用它來記錄最終的最優解。將單元格b6 和 c6 作為可變單元格(分別代表x1,x2)。在其中輸入任意初值,不 妨都輸入0。確定目標單元格,用它來記錄目標函式值。當問題求 解結束時,它將顯示最優的目標函式值。選定d5 作為目標單元格(代 表變數z),其中輸入目標函式公式為 d5=sumproduct(b5:c5,b6:c6),含義是d5=b5×b6+c5×c6。輸入約 束條件。選定單元格d3 和d4,依次輸入約束條件。利用sumproduct 函式,分別輸入d3=sumproduct(b2:c2,b6:c6), d4=sumproduct(b3:c3,b6:c6),見圖3。 第五步,設定規劃求解引數。單擊選單欄“工具”中的“規劃求 解”命令,彈出“規劃求解引數”的對話方塊後,在設定的目標單元 格中輸入“$d$5”,可變單元格中輸入“$b$6:$c$6”。設定約束條 件,單擊“新增”按鈕,出現“新增約束”對話方塊,在單元格引用 中輸入“$d$3:$d$4”約束值輸入“$f$3:$f$4”。對於變數的整數 值限制,需要再次輸入$b$6:$c$6,約束值為“int 整數”。如下圖 4、圖5 所示: 第六步,計算得出規劃求解結果。完成了引數的設定後,單擊“選 項”按鈕,彈出“規劃求解選項”,見圖6,勾選“假定非負”和“採 用線性模型”,單擊“確定”退出。單擊“求解”按鍵,就可得到 相應的結果,見圖7。圖中的單元格b6 和c6 裡的資料就是得到的 最優解。d5 中的資料是z 最大的值,即z=22 萬元。
整數規劃模型Excel 求解的簡化方法 [摘 要] 整數規劃是一類典型的線性規劃問題。對於這類問題, 運籌學中已有解決的方法,但比較繁瑣。本文利用excel 軟體的“規 劃求解”工具,對整數規劃問題求解的模型建立和求解作了較詳盡 的論述。 [關鍵詞] 整數規劃問題 excel 規劃求解 整數規劃是線性規劃中的一類典型問題,應用於解決生產實際的 許多問題,有著廣泛的應用前景。對於這類問題,運籌學中已有解 決方法,如分枝定界法、窮舉法等,但很繁瑣。也有藉助於matlab、 mathematics 和 lingo 等軟體求解,但專業性太強。相比之下,excel 功能強大,漢化水平高,選單操作方便,擁有大量的函式、公式等, 不需專門購買和安裝。為解決整數規劃問題提供了一種很好的工 具。本文結合例項說明利用在excel 軟體中“規劃求解”工具,建 立數學模型並求解整數規劃問題。 1 “規劃求解”工具 microsoft excel 的“規劃求解”工具取自於leon lasdon 和allan waren 共同開發的非線性最最佳化程式碼。“規劃求解”是execl 中的一 個載入宏。 1.1 安裝 “規劃求解” 載入宏是excel 的一個可選安裝模組,在安裝microsoft excel 時,系統預設的安裝方式不會安裝宏程式,只有在選擇“完全/定製安裝”時才可選擇安裝這個模組。如果採用“典型安裝”,則“規 劃求解”工具沒有安裝 ,就必須重新啟動office 安裝程式並且選 擇excel 選項,在載入宏區段中選擇 “規劃求解”,然後進行安裝。 1.2 載入“規劃求解” 安裝了“規劃求解”之後,在“工具”選單下可能仍然找不到“規 劃求解”,此時您可以選擇“工具/載入宏”,在開啟的“載入宏” 對話方塊中選中 “規劃求解”複選框,確定後,就可以將“規劃求 解”命令新增到“工具”選單欄中了。 2 整數規劃的一般模型 整數規劃是線性規劃的特殊情形,它的變數x 僅取整數,其數學 表示式有標準式、縮簡形式、向量式、矩陣式等多種表現形式。本 文只討論標準形式,具體表達式如圖1。 3 例項及求解過程 例1:某工廠有資金13 萬元用於購置新機器,可在兩種機器中任 意選購,已知機器a 每臺購置費2 萬元,機器b 每臺購置費4 萬元。 該廠維修能力只能維修7 臺機器b;若維修機器a,1 臺折算2 臺機 器b。購置1 臺a 可增加年產值6 萬元,1 臺b 可增加年產值4 萬 元,問應購置a 和b 各多少臺才能使年產值增加最多? 第一步,建立數學模型(如圖2)。第二步,建立整數規劃問題的 電子表格模型(如圖3)。 第三步,選定可變單元格和目標單元格,輸入目標函式和約束條 件。選定可變單元格,用它來記錄最終的最優解。將單元格b6 和 c6 作為可變單元格(分別代表x1,x2)。在其中輸入任意初值,不 妨都輸入0。確定目標單元格,用它來記錄目標函式值。當問題求 解結束時,它將顯示最優的目標函式值。選定d5 作為目標單元格(代 表變數z),其中輸入目標函式公式為 d5=sumproduct(b5:c5,b6:c6),含義是d5=b5×b6+c5×c6。輸入約 束條件。選定單元格d3 和d4,依次輸入約束條件。利用sumproduct 函式,分別輸入d3=sumproduct(b2:c2,b6:c6), d4=sumproduct(b3:c3,b6:c6),見圖3。 第五步,設定規劃求解引數。單擊選單欄“工具”中的“規劃求 解”命令,彈出“規劃求解引數”的對話方塊後,在設定的目標單元 格中輸入“$d$5”,可變單元格中輸入“$b$6:$c$6”。設定約束條 件,單擊“新增”按鈕,出現“新增約束”對話方塊,在單元格引用 中輸入“$d$3:$d$4”約束值輸入“$f$3:$f$4”。對於變數的整數 值限制,需要再次輸入$b$6:$c$6,約束值為“int 整數”。如下圖 4、圖5 所示: 第六步,計算得出規劃求解結果。完成了引數的設定後,單擊“選 項”按鈕,彈出“規劃求解選項”,見圖6,勾選“假定非負”和“採 用線性模型”,單擊“確定”退出。單擊“求解”按鍵,就可得到 相應的結果,見圖7。圖中的單元格b6 和c6 裡的資料就是得到的 最優解。d5 中的資料是z 最大的值,即z=22 萬元。