【Matlab】混合整数规划 |
您所在的位置:网站首页 › matlab优化模型例题 › 【Matlab】混合整数规划 |
混合整数规划
官方文档语法实例1实例2
官方文档
链接 语法 x = intlinprog(f, intcon,A,b) x = intlinprog(f , intcon,A,b,Aeq, beq) X=intlinprog(f , intcon, A, b, Aeq, beq,1b,ub) x = intlinprog(f, intcon,A, b,Aeq, beq, lb, ub,x0) x = intlinprog(f, intcon, A, b,Aeq, beq,lb, ub, x0, options) x = intlinprog(problem) [x, fval, exitflag,output] = intlinprog(__)f、x、intcon、lb、beq、Ib和ub是向量,A和Aeq是矩阵 min x f T x subject to { x ( intcon ) are integers A ⋅ x ≤ b Aeq x = b e q l b ≤ x ≤ u b \min _{x} f^{T} x \text { subject to }\left\{\begin{array}{l} x(\text { intcon }) \text { are integers } \\ A \cdot x \leq b \\ \text { Aeq } x=b e q \\ l b \leq x \leq u b \end{array}\right. xminfTx subject to ⎩⎪⎪⎨⎪⎪⎧x( intcon ) are integers A⋅x≤b Aeq x=beqlb≤x≤ub x = intlinprog(f,intcon,A,b) 最小化 f'*x,使得 intcon 中的 x 分量是整数,且 A*x ≤ b。 x = intlinprog(f,intcon,A,b,Aeq,beq) 求解上述问题,同时还满足等式约束 Aeq*x = beq。如果不存在不等式,请设置 A = [] 和 b = []。 x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) 定义设计变量 x 的一组下界和上界,使解始终在 lb ≤ x ≤ ub 范围内。如果不存在等式,请设置 Aeq = [] 和 beq = []。 x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0) 使用初始可行点 x0 进行优化。如果不存在边界,请设置 lb = [] 和 ub = []。 x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0,options) 使用 options 中指定的优化选项执行最小化。使用 optimoptions 可设置这些选项。如果不存在初始点,请设置 x0 = []。f-系数向量。intcon -整数约束组成的向量,就说受到约束的整数个数。A-线性不等式约束矩阵。b-线性不等式约束向量。Aeq -线性等式约束矩阵。beq -线性等式约束向量。Ib-下界。ub-上界。x0 -初始点。 实例1min x 8 x 1 + x 2 subject to { x 2 is an integer x 1 + 2 x 2 ≥ − 14 − 4 x 1 − x 2 ≤ − 33 2 x 1 + x 2 ≤ 20 \min _{x} 8x_1+x_2\text { subject to }\left\{\begin{array}{l} x_2 \text { is an integer } \\ x_1+2x_2\geq-14\\ -4x_1-x_2\leq -33\\ 2x_1+x_2 \leq 20 \end{array}\right. xmin8x1+x2 subject to ⎩⎪⎪⎨⎪⎪⎧x2 is an integer x1+2x2≥−14−4x1−x2≤−332x1+x2≤20 z = 8 x 1 + x 2 z=8x_1+x_2 z=8x1+x2受 x 1 和 x 2 x_1和x_2 x1和x2限制。 代码构建和之前的类似 f = [8;1];%确定目标函数系数 intcon = 2;%理解为两个受x受到整数限制 A = [-1,-2; -4,-1; 2,1];%构造不不等式左边系数矩阵 b = [14;-33;20];%构造不等式右边矩阵 x = intlinprog(f,intcon,A,b)min x ( − 3 x 1 − 2 x 2 − x 3 ) subject to { x 3 binary x 1 , x 2 ≥ 0 − x 1 + x 2 + x 3 ≤ 7 4 x 1 + 2 x 2 + x 3 = 20 \min _{x} \left( {-3x_1-2x_2-x_3} \right)\text { subject to }\left\{\begin{array}{l} x_3 \text { binary } \\ x_1,x_2\geq0\\ -x_1+x_2+x_3\leq7\\ 4x_1+2x_2+x_3 = 20 \end{array}\right. xmin(−3x1−2x2−x3) subject to ⎩⎪⎪⎨⎪⎪⎧x3 binary x1,x2≥0−x1+x2+x3≤74x1+2x2+x3=20 %案例二 clear all clc % 编写目标函数向量和由整数变量组成的向量。 f = [-3;-2;-1]; intcon = 3; % 编写线性不等式约束。 A = [1,1,1]; b = 7; % 编写线性等式约束。 Aeq = [4,2,1]; beq = 12; % 编写边界约束。 lb = zeros(3,1);%等效于lb=[0;0;0] ub = [Inf;Inf;1]; %强制x(3)为一个固定1 %调用intlinprog x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)返回结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |