4.6 线性规划问题的MATLAB求解方法

与一般的线性规划理论一样,在MATLAB中有线性规划的标准型,和前面介绍的一般标准型有类似之处,也有不同之处。在调用MATLAB线性规划函数linprog时,要遵循MATLAB中对标准型的要求。

4.6.1 线性规划问题的MATLAB标准型

线性规划问题的MATLAB标准型为:

在上述模型中,有一个需要极小化的目标函数f,以及需要满足的约束条件。

假设x为n维设计变量,且线性规划问题具有不等式约束m1个,等式约束m2个,那么:c、x、lb和ub均为n维列向量,b为m1维列向量,beq为m2维列向量,A为m1×n维矩阵,Aeq为m2×n维矩阵。

需要注意的是如下两点:第一,在该MATLAB标准型中,目的是对目标函数求极小,这与前面所讲的内容是不同的;第二,MATLAB标准型中的不等式约束形式为“≤”。

【例4-8】对于如下线性规划问题:

要转化为MATLAB标准形式,则需要经过如下几个步骤。

(1)原问题是对目标函数求极大,故添加负号使问题目标为min f=-4x1+2x2-x3。

(2)原问题中存在“≥”的约束条件,故添加负号使其变为8x1-2x2+2x3≤-8。

于是不等式组合约束写成矩阵的形式,即为:

将等式写成矩阵的形式,即为:

4.6.2 线性规划问题求解的MATLAB函数调用

MATLAB优化工具箱中求解线性规划问题的命令为linprog,其函数调用方法有多种形式,如下所示。......

矩阵在Matlab中应用规则,1.3 MATLAB中的矩阵运算免费阅读_详解MATLAB在最优化计算中的应用免费全文_百度阅读...相关推荐

  1. java spring框架 注解_详解Java的Spring框架中的注解的用法

    1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的类的实现: class UserManagerImpl implements UserManager { private ...

  2. java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期

    bean的定义形成应用程序的骨干是由Spring IoC容器所管理的对象称为bean.bean被实例化,组装,并通过Spring IoC容器所管理的对象.这些bean由容器提供,例如,在XML的定义, ...

  3. can协议crc计算_详解CAN/CAN FD通信中的循环冗余校验(CRC)方法

    数据校验是为保证数据的完整性进行的一种验证操作.CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据. 在现场总线通信和控制的实际应用中,工业应用环境 ...

  4. jsfor循环终止_详解如何在JS代码中消灭for循环

    Edit: 在我入职第三家公司的第一天,看到代码库里面一堆的 for 循环,内心有些崩溃,于是做了一次技术分享,展示怎样在代码中避免 for 循环.这篇文章是那次分享的总结.本文并不完美,其中递归的部 ...

  5. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

  6. java json 去除空_详解Java去除json数据中的null空值问题

    1.描述 @JsonInclude(JsonInclude.Include.NON_NULL)标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中,此方法的配置意在可 ...

  7. mybatis mysql 事务处理_详解Java的MyBatis框架中的事务处理

    一.MyBatis单独使用时,使用SqlSession来处理事务: public class MyBatisTxTest { private static SqlSessionFactory sqlS ...

  8. hutol json null值没了_详解Java去除json数据中的null空值问题

    1.描述 @JsonInclude(JsonInclude.Include.NON_NULL)标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中,此方法的配置意在可 ...

  9. 终极优化_详解Win7旗舰版系统中可以关闭的服务

    Win7旗舰版系统是一款功能强大的系统,不过对于很多用户很多功能却使用不上,而支持功能的很多服务也多少占用了系统资源,那么我们可以通过关闭一些不使用的服务来达到让win7系统运行速度加快的目的.下面小 ...

最新文章

  1. malloc 和alloc及calloc的区别
  2. JVM内存占用情况深入分析,分分钟解开你的疑惑
  3. poj1789(prim)
  4. Linux正则和grep命令
  5. Python中装饰器的理解和实现
  6. 让SAP云平台上的Web应用使用destination服务
  7. ASP.NET Core 中文文档 第三章 原理(1)应用程序启动
  8. Linux 驱动编译报错:error: macro __DATE__ might prevent reproducible builds [-Werror=date-time]
  9. 画王八java代码参数_java画乌龟源代码-郭遥航.doc
  10. XAMPP修改80和443端口及创建虚拟目录
  11. 仓库保管工计算机试题,仓库保管工中级试卷答案.doc
  12. Oracle 9i和10g安装后的基本环境与服务
  13. 3维两点间的距离 js_高考必刷题4:球面上任意两点间距离的计算
  14. 5.深入分布式缓存:从原理到实践 --- 从Memcached开始了解集中式缓存
  15. 【中级篇】Linux下搭建MySQL数据库系统
  16. 智能机器人建房子后房价走势_重磅!机器人建房时代将至,工作效率是人的4倍,有助房价下跌?...
  17. 当我们在谈论高并发的时候究竟在谈什么?
  18. Hadoop高手之路1—Hadoop简介
  19. Apache日志分割及分析
  20. python使用pillow生成纯透明png图片

热门文章

  1. 文字生成视频,只需一步
  2. 谁决定了 IT 直男的价值
  3. 基于 OpenCV 的图像阴影去除,你会吗?
  4. 只用两个函数实现事务的设计模式!
  5. 给大忙人们看的 Java NIO 极简教程
  6. Maven 依赖冲突踩坑后,将依赖调解、类加载彻底整明白了
  7. 告诉你一个 AtomicInteger 的惊天大秘密!
  8. 《原力计划【第二季】》第 3 周周榜揭晓!!!
  9. 轻松搞定 SpringBoot 的邮件服务
  10. 从 4 个月到 7 天:Netflix 开源自家框架 Metaflow,性能像坐上了火箭