当前位置: 首页>編程日記>正文

matlab线性规划系列之基础解题-2

matlab线性规划系列之基础解题-2

 
系列文章目录

基础篇:

​​​​​​1.matlab线性规划问题---------基于问题求解函数optimproblem

2. matlab线性规划系列之基础解题

文章目录

目录

 系列文章目录

基础篇:

​​​​​​1.matlab线性规划问题---------基于问题求解函数optimproblem

2. matlab线性规划系列之基础解题

欢迎来到苦幽幽,线性规划解千愁系列。

一、上手实际问题

  1.1温习(承上)0-1模型的选课制度-多目标:

  若是还没有看过我上一篇文章的小伙伴,记得去看看呀,和上一篇的问题是有联系的哟。这次我将在单目标的基础之上增加一个学分最多的目标,也就是咱们需要实现在选课数量尽可能少的前提下,学分也尽可能多这两个目标。 其实很简单,伙伴们多想一下,代码在最下面呀!同时分析将会在下一期出!

2.开辟新类型- 类型2 - 普通线性规划:

三、多目标0-1的代码答案~





前言

这里将展示一些用我之前发过的关于问题求解函数optimproblem的一些解题方法思路,以及对应的代码,在这里声明一下,本篇文章所用的题目来自于哒哒子前辈的如下文章:数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】_厚德载物-CSDN博客



欢迎来到苦幽幽,线性规划解千愁系列。

一、上手实际问题

  1.1温习(承上)0-1模型的选课制度-多目标

  若是还没有看过我上一篇文章的小伙伴,记得去看看呀,和上一篇的问题是有联系的哟。这次我将在单目标的基础之上增加一个学分最多的目标,也就是咱们需要实现在选课数量尽可能少的前提下,学分也尽可能多这两个目标。 其实很简单,伙伴们多想一下,代码在最下面呀!同时分析将会在下一期出!

2.开辟新类型- 类型2 - 普通线性规划:

    2.1牛奶加工售出计划:

     这里和上一篇所讲的题一样用三步法。我们求满足约束条件后,获利最大化

       2.2.1 分类问题

          文字分析:

            关于这道题,首先是先将问题分类,毫无疑问,和我们之前所讲的0-1规划不一样,因为没             有体现出选择的关系,也没有体现出数量值为0-1;这时候看题目显然就是一道普通的线性             规划,就是需要规划你怎么去安排这个制作,三点都是线性的函数,哪三点?看下方。

        2.2.2 找对应三

        那么接下来就找那三个点:

                第一:决策变量,其实就是选择A1还是A2,一桶牛奶是用A1做还是A2做。

                第二:约束条件,约束条件是题目所给的,一天所产的牛奶桶数小于等于50;A1,A2加                 工时间不超过不超过480h;A1至多不超过100公斤

                第三:目标函数,目标函数就是要使得获利最大化。

         1. 关于决策变量

                文字分析:

                     这里我们很容易知道,能否获利,是看我们做出了几桶牛奶,并且这几桶牛奶是由A                  还是B来做的,因为他们所能制造的牛奶的“转化率”是不同的,所以甚至于后期我们还可                  以计算出他们的经济效益(也就是性价比的东西,其实就是1/各自的需求量 再除以各自                 的单价,不是利润价阿!!,在这里单价没给,是没有办法求的!到最后面的时候会讲                 述2021国赛题目,会给例子的!),但显然单纯的求利益最大化是不需要的。

                     在这里因为要知道我们要规划用多少桶A1和多少桶A2,所以,我分别设置了x1桶牛                 奶用A1和x2桶牛奶用A2故设置两行的列向量即可,然后下界设置为0。

                代码分析:

x = optimvar('x',2,'LowerBound',0);

                     

           2. 关于约束条件

                文字分析:

                 约束条件感觉没啥好讲的,看题设条件就行,这个比较简单,直接看代码吧。

                代码分析:

con1 = 3*x(1) <= 100;%A1的小于100
con2 = 12*x(1) + 8*x(2) <= 480;%时间
con3 = x(1)+x(2) <= 50;pro.Constraints.con1 = con1;
pro.Constraints.con2 = con2;
pro.Constraints.con3 = con3;

           3. 关于目标函数

                文字分析:

                  目标函数无非就是运用A1的公斤数乘以每公斤的利润加上A2的即可,这里需要注意的                 是,要知道自己设立的变量是桶数还是公斤数,这样所列出来的目标函数也是不一样                 的。

                代码分析:

pro.Objective = x(1)*24*3 + 16*x(2)*4;%获利最大化

          2.2.3 代码示例


pro = optimproblem('ObjectiveSense','max');%使得获利最大化x = optimvar('x',2,'LowerBound',0);
%x1桶牛奶用A1制作,x2桶牛奶用A2制作pro.Objective = x(1)*24*3 + 16*x(2)*4;%获利最大化con1 = 3*x(1) <= 100;%A1的小于100
con2 = 12*x(1) + 8*x(2) <= 480;%时间
con3 = x(1)+x(2) <= 50;pro.Constraints.con1 = con1;
pro.Constraints.con2 = con2;
pro.Constraints.con3 = con3;
[sol_LL fval_LL] = solve(pro);sol_LL.x
fval_LL

可以知道答案分别是A1 = 20,A2 =30 ,利润是3360。 

三、多目标0-1的代码答案~

clc
clear
tic
%第二个目标
score = [5;4;4;3;4;3;2;2;3];%按照序号所对应的每一科的学分
pro1 = optimproblem('ObjectiveSense','max');
v = optimvar('v',9,'Type','integer','LowerBound',0,'UpperBound',1);%选课的学分
pro1.Objective = score'*v;
con_LL = [];
con_LL = sum(v) <=6;
% for i =1:9 
%     con_LL = [con_LL;x(i) <= v(i)];
% end
pro1.Constraints.con1=con_LL;
[solz fval_LLz] = solve(pro1); 
solz.v 
fval_LLztoc


  答案最终是选择第1、2、3、5、6、9门课呀,然后学分是23分~,答案不唯一呀,如果有错误,还请指正~ 



 


https://www.fengoutiyan.com/post/14052.html

相关文章:

  • 单纯形法求解线性规划matlab
  • matlab解线性规划问题程序例题
  • matlab最优化线性规划
  • matlab零基础入门教程
  • matlab求解线性规划问题
  • matlab线性规划代码
  • matlab subplot
  • matlab的应用
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機