当前位置:   article > 正文

数模——线性规划_matlab基于求解器求解和基于问题求解

matlab基于求解器求解和基于问题求解

目录

 

线性规划matlab求解

1)基于求解器求解

1.标准形式

 2.代码实现

 2)基于问题求解


线性规划matlab求解


1)基于求解器求解

        1.标准形式

 

         2.代码实现

  1. f = [-40;-30];
  2. a = [1,1;-1,0;0,-1;240,120];
  3. b = [6;-1;-1;1200];
  4. [x,y] = linprog(f,a,b);y=-y

 2)基于问题求解

  1. prob=optimproblem('ObjectiveSense','max');
  2. c=[4;3];
  3. b=[10;8;7];
  4. a=[2,1;1,1;0,1];
  5. x=optimvar('x',2,'LowerBound',0); %决策变量
  6. prob.Objective=c'*x; %目标函数
  7. prob.Constraints.con=a*x<=b; %约束条件
  8. [sol,fval,flag,out]=solve(prob); %favl返回最优值
  9. sol.x %显示决策变量的值
  •  optimproblem-创建优化问题:prob=optimproblem(NAME,VALUE),(prob=optimproblem默认创建最小值优化问题)prob.objective是优化问题里面的目标函数;prob.constraints.con是约束条件,有多个同类约束条件时可以按照行向量的形式排列,不同类约束条件可以用con1,con2来表示。
  • optimvar-创建优化变量(符号变量):x = optimvar(name,n) 创建由优化变量组成的 n×1 向量。x = optimvar(name,cstr) 创建可使用 cstr 进行索引的优化变量向量。x 的元素数与 cstr 向量的长度相同。x 的方向与 cstr 的方向相同:当 cstr 是行向量时,x 也是行向量,当 cstr 是列向量时,x 也是列向量。
  • c'是c向量/矩阵的转置
  • solve函数解决优化问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/593044
推荐阅读
相关标签
  

闽ICP备14008679号