日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

整数规划 - 数学建模

發(fā)布時(shí)間:2024/3/7 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 整数规划 - 数学建模 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、整數(shù)規(guī)劃模型及概念

規(guī)劃問(wèn)題的數(shù)學(xué)模型一般由三個(gè)因素構(gòu)成 決策變量 目標(biāo)函數(shù) 約束條件
數(shù)學(xué)規(guī)劃是運(yùn)籌學(xué)的一個(gè)重要分支,線性規(guī)劃是數(shù)學(xué)規(guī)劃的一個(gè)重要分支;
線性規(guī)劃即以線性函數(shù)為目標(biāo)函數(shù),線性條件為約束條件;
如果一個(gè)線性規(guī)劃模型中的部分或全部決策變量取整數(shù)值,則稱該線性規(guī)劃模型為整數(shù)線性規(guī)劃模型,除此還有非線性整數(shù)規(guī)劃。

從決策變量的取值范圍來(lái)看,整數(shù)規(guī)劃通常可以分為以下幾種類型:
1、純整數(shù)規(guī)劃:全部決策變量都必須取整數(shù)值的整數(shù)規(guī)劃模型;
2、混合整數(shù)規(guī)劃:決策變量中有一部分必須取整數(shù)值,另一部分可以不取整數(shù)值的整數(shù)規(guī)劃模型;
3、0-1整數(shù)規(guī)劃:決策變量只能取0或1的整數(shù)規(guī)劃。

二、整數(shù)規(guī)劃模型求解及應(yīng)用

整數(shù)線性規(guī)劃模型的一般形式為

1、基于求解器求解

標(biāo)準(zhǔn)形式如下

解法:

[x, fval, exitflag, output] = intlinprog(f, intcon, A, b, Aeq, beq, lb, ub, x0, options)

其中
輸入?yún)?shù):
f 為系數(shù)向量,系數(shù)向量表示目標(biāo)函數(shù),列向量;
intcon 為整數(shù)約束組成的向量,它的值指示決策變量 x 中應(yīng)取整數(shù)值的分量;
A 為線性不等式約束矩陣,A 表示約束中的線性系數(shù);
b 為線性不等式約束向量,b 表示約束中的常向量;
Aeq 為線性等式約束矩陣,beq 為線性等式約束向量;
lb 為下界,ub 為上界;
x0為初始點(diǎn),指定為實(shí)數(shù)數(shù)組。當(dāng) f 存在時(shí),x0 中的元素?cái)?shù)與 f 中的元素?cái)?shù)相同。否則,該數(shù)字與 A 或 Aeq 的列數(shù)相同;
options 為 intlinprog 的選項(xiàng)。
輸出參數(shù):
x 為解,fval 為目標(biāo)函數(shù)最優(yōu)值;
exitflag 為算法停止條件,output 為求解過(guò)程摘要。

2、基于問(wèn)題求解

首先需要用變量和表達(dá)式構(gòu)造優(yōu)化問(wèn)題,然后用solve函數(shù)求解,詳見(jiàn)例題。

三、例題

1、基于求解器求解

clc, clear f = [1; 1; 1; 1; 1; 1]; % 目標(biāo)函數(shù)系數(shù)矩陣 intcon = [1:6]; % 目標(biāo)函數(shù)整數(shù)項(xiàng) A = [1, 0, 0, 0, 0, 1; % 構(gòu)造不等式約束系數(shù)矩陣1, 1, 0, 0, 0, 0; 0, 1, 1, 0, 0, 0; 0, 0, 1, 1, 0, 0; 0, 0, 0, 1, 1, 0; 0, 0, 0, 0, 1, 1]; b = [35; 40; 50; 45; 55; 30]; % 構(gòu)造不等式約束常數(shù)矩陣 [x, fval] = intlinprog(f, intcon, -A, -b, [], [], zeros(6, 1)); % 調(diào)用求解器求解

2、基于問(wèn)題求解

clc, clear prob = optimproblem; % 定義優(yōu)化問(wèn)題,默認(rèn)求最小 x = optimvar('x',6,'Type','integer','LowerBound',0); % name為變量名稱,n為變量維度,cstr為索引名稱,Type為變量類型,continuous(默認(rèn)實(shí)數(shù))或integer(整數(shù)),LowerBound為下界,UpperBound為上界 prob.Objective = sum(x); % .Objective為目標(biāo)函數(shù),定義目標(biāo)函數(shù) con = optimconstr(6); % 創(chuàng)建一個(gè)由空優(yōu)化約束組成的 6×1 數(shù)組,使用 constr 初始化用于創(chuàng)建約束表達(dá)式的循環(huán) a = [35,40,50,45,55,30]; % 不等式常數(shù)項(xiàng) con(1) = x(1)+x(6)>=35; % 構(gòu)造不等式約束 for i =1 :5con(i+1) = x(i)+x(i+1)>=a(i+1); end prob.Constraints.con = con; [sol, fval, flag] = solve(prob), sol.x % 求解

求得最優(yōu)解為x1 = 35, x2 = 5, x3 = 45, x4 = 0, x5 = 55, x6 = 0,目標(biāo)函數(shù)最優(yōu)值為140。

四、蒙特卡洛法解決非線性整數(shù)規(guī)劃

蒙特卡洛法又稱計(jì)算機(jī)隨機(jī)模擬法,是基于對(duì)大量事件的統(tǒng)計(jì)結(jié)果來(lái)實(shí)現(xiàn)一些確定性問(wèn)題的計(jì)算。
非線性規(guī)劃的解法雖然尚未成熟,但是非線性整數(shù)規(guī)劃限定了變量為整數(shù),從而整數(shù)解為有限個(gè),為枚舉法提供了方便,故在一定計(jì)算量的情況下,用蒙特卡洛法進(jìn)行隨機(jī)枚舉可以得出一個(gè)較為滿意的解。一些情況還可以使用Lingo得到更優(yōu)的答案,在此就不再贅述了。

總結(jié)

以上是生活随笔為你收集整理的整数规划 - 数学建模的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。