数模——线性规划

文章介绍了如何在MATLAB中使用linprog函数和optimproblem工具来解决线性规划问题。首先,展示了基于linprog函数的标准形式和代码实现,然后通过创建optimproblem优化问题并定义目标函数和约束条件来解决问题。两种方法都提供了求解线性规划问题的途径。
摘要由CSDN通过智能技术生成

目录

 

线性规划matlab求解

1)基于求解器求解

1.标准形式

 2.代码实现

 2)基于问题求解


线性规划matlab求解


1)基于求解器求解

        1.标准形式

 

         2.代码实现

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

 2)基于问题求解

prob=optimproblem('ObjectiveSense','max');
c=[4;3];
b=[10;8;7];
a=[2,1;1,1;0,1];
x=optimvar('x',2,'LowerBound',0);   %决策变量
prob.Objective=c'*x;                %目标函数
prob.Constraints.con=a*x<=b;         %约束条件
[sol,fval,flag,out]=solve(prob);    %favl返回最优值
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函数解决优化问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值