数学建模算法目标规划

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性 规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。

1.目标规划问题实例

这是一个最基本的目标规划问题,根据上述题目,我们可以列出目标函数和约束条件如下: 

上述目标函数应为4000和3000,在程序部分进行了修正,接下来,来求解这个 线性规划问题。

2.线性规划的 Matlab 标准形式 

线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标准形式为:

基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。

如: [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 

 3.求解问题实例代码

clc,clear;
c=[4;3];
a=[2,1;1,1;0,1];
b=[10;8;7];
x=linprog(-c,a,b);  %注意是求最大值,但linprog默认求最小值,所以c取负
value=c'*x*1000;
disp('最优解 x:');  
disp(x);  
disp('目标函数值 value:');  
disp(value);

结果显示:最优解为2,6;即生产甲2台,乙6台,总利润为26000元。 

4.实例二

 

c=[2;3;-5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1));
value=c'*x;
disp('最优解 x:');  
disp(x);  
disp('目标函数值 value:');  
disp(value);

运行结果如下:

5.对偶问题

 对偶问题为以下形式:

简单来说说,对偶问题可被看作是原始问题的“行列转置”:

(1) 原始问题中的第 j 列系数与其对偶问题中的第 j 行的系数相同;

(2) 原始目标函数的各个系数行与其对偶问题右侧的各常数列相同;

(3) 原始问题右侧的各常数列与其对偶目标函数的各个系数行相同;

(4) 在这一对问题中,不等式方向和优化方向相反。 

已知线性规划问题:

 6.小练习

 试着用MATLAB写出求解下列线性规划的程序:

 最终结果:

程序:

c=[3;-1;-1];
a=[1,-2,1;4,-1,-2];
b=[11,-3];
aeq=[-2,0,1];
beq=1;
x=linprog(-c,a,b,aeq,beq,zeros(3,1));
value=c'*x;
disp('最优解 x:');  
disp(x);  
disp('目标函数值 value:');  
disp(value);

评论区亮出你的答案~ ,一起讨论呀!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/41757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

底层软件 | STM32启动分析之main函数是怎样跑起来的

应届生面试,基本上嵌入式一般都是基于32的项目,记得我当年面大疆的就是有这个题目。 1、STM32启动规则 STM32根据boot0和boot1的电平决定启动位置,boot00时从主Flash启动,即0x08000000地址启动。 按照spec,M3核的中断…

构建工程化:多种不同的工程体系如何编写MakeFile

源码分析 核心MakeFile 这个 Makefile 是一个复杂的构建脚本,用于管理和构建一个大型项目。它包括多个目标、条件判断和递归调用 make 命令来处理多个子项目和子目录。让我们逐部分进行详细解析。 伪目标和变量定义 .PHONY: all clean install build test init.…

依赖注入的优点、解决的问题以及其底层原理和逻辑

依赖注入(Dependency Injection, DI)是一种设计模式,用于实现控制反转(Inversion of Control, IoC)。它通过将对象的依赖关系从类内部转移到外部配置或注入,从而提高代码的可维护性、可测试性和可扩展性。以…

使用Spring Boot和Apache Camel集成第三方服务

使用Spring Boot和Apache Camel集成第三方服务 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何利用Spring Boot和Apache Camel来集成第三方服…

pycharm如何使用jupyter

目录 配置jupyter新建jupyter文件别人写的方法(在pycharm种安装,在网页中使用) pycharm专业版 配置jupyter 在pycharm终端启动一个conda虚拟环境,输入 conda install jupyter会有很多前置包需要安装: 新建jupyter…

一文理清LK光流

举出几种光流方法,说明LK光流的建模方式? 光流方法是用于估计图像序列中像素点运动的技术,广泛应用于计算机视觉和视频处理领域。以下是几种常见的光流方法: Lucas-Kanade (LK) 方法: 一种基于局部窗口的光流估计方法…

代理IP在未来将面临哪些挑战?

今天我们来聊聊代理IP在未来可能会面临的挑战。虽然代理IP技术目前应用广泛,但随着科技的发展和网络环境的变化,代理IP也将面临一些新的挑战。让我们一起来看看这些挑战是什么吧! 1. 更严格的网络封锁和检测 现代社会各行各业都在飞速发展&…

可变参数 Collections 不可变集合 Stream流

目录 1.可变参数: 2.Collections: 3.不可变集合: 4.Stream流: 1、什么是流 2、如何生成流 1.单列集合获取Stream流 2.双列集合获取Stream流 3.数组获取Stream流: 4.一堆零散数据: Stream接口中的静态方法 3.Stream流的…

解决分布式环境下session共享问题

在分布式环境下,session会存在两个问题 第一个问题:不同域名下,浏览器存储的jsessionid是没有存储的。比如登录时认证服务auth.gulimall.com存储了session,但是搜索服务search.gulimall.com是没有这个session的; 第二个问题&…

基于SpringBoot的校园台球厅人员与设备管理系统

本系统是要设计一个校园台球厅人员与设备管理系统,这个系统能够满足校园台球厅人员与设备的管理及用户的校园台球厅人员与设备管理功能。系统的主要功能包括首页、个人中心、用户管理、会员账号管理、会员充值管理、球桌信息管理、会员预约管理、普通预约管理、留言…

【SSRF】

SSRF (Server-Side Request Forgery 服务端请求伪造) 文章目录 0x01 是什么?0x02 怎么判断是否存在SSRF漏洞?0x03 防御0x04 绕过手段 0x01 是什么? 是什么?   答:攻击者构造请求,…

w3wp.exe 中发生未处理的 Microsoft ,NETFramework 异常。

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

Spring 6.1.10版本源码编译

每篇一句 我们对时间的感知其实非常主观,我们越习惯于我们的生活方式,生活里面的新鲜感就越少,我们对时间 的感知就越快,生命就越短。 1.源码下载 进入Spring官网 https://spring.io/ 按照上图步骤进入如下Spring Framework链…

罗剑锋的C++实战笔记学习(二):容器、算法库、多线程

4、容器 1)、容器的通用特性 所有容器都具有的一个基本特性:它保存元素采用的是值(value)语义,也就是说,容器里存储的是元素的拷贝、副本,而不是引用 容器操作元素的很大一块成本就是值的拷贝…

RAG 工业落地方案框架(Qanything、RAGFlow、FastGPT、智谱RAG)细节比对!CVPR自动驾驶最in挑战赛赛道,全球冠军被算力选手夺走了

RAG 工业落地方案框架(Qanything、RAGFlow、FastGPT、智谱RAG)细节比对!CVPR自动驾驶最in挑战赛赛道,全球冠军被算力选手夺走了。 本文详细比较了四种 RAG 工业落地方案 ——Qanything、RAGFlow、FastGPT 和智谱 RAG,重…

git push之后回滚到某个版本

背景 因为粗心在主分支上修改了代码,push了上去,污染了主分支,希望将主分支之后的修改回滚,包括提交记录,就是远程的记录中回到希望回到的版本,保持干净。 git push -f 可以做到,会冲掉所有的…

SwiftUI 6.0(iOS 18.0)滚动视图新增的滚动阶段(Scroll Phase)监听功能趣谈

何曾几时,在 SwiftUI 开发中的秃头小码农们迫切需要一种能够读取当前滚动状态的方法。 在过去,他们往往需要借助于 UIKit 的神秘力量。不过这一切在 SwiftUI 6.0 中已成“沧海桑田”。 在本篇博文中,您将学到如下内容: 1. Scroll…

一份适合新手的软件测试练习项目

最近,不少读者托我找一个能实际练手的测试项目。开始,我觉得这是很简单的一件事,但当我付诸行动时,却发现,要找到一个对新手友好的练手项目,着实困难。 我翻了不下一百个web网页,包括之前推荐练…

nginx的知识面试易考点

Nginx概念 Nginx 是一个高性能的 HTTP 和反向代理服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 Nginx 专为性能优化而开发,性能是其最重要的考量指标,实现上非常注重效率&#…

C#用链表和数组分别实现堆栈

1.链表 实现栈的四个基本功能 入栈 出栈 长度 栈顶值 public class 基础 : MonoBehaviour {public class MyStack{//定义每一个元素的数据结构 //下一个元素 和 该元素的值public class StackData{public StackData next;public object data;public StackData(StackData next,…