当前位置: 首页 > news >正文

34.利用matlab解 多变量多目标规划问题(matlab程序)

1.简述

      

学习目标:适合解  多变量多目标规划问题,例如   收益最大,风险最小
   

主要目标法,线性加权法,权值我们可以自己设定。

  收益函数是  70*x(1)+66*x(2) ;


 风险函数是  0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2


  用收益函数乘以权值0.5减去风险函数乘以0.5,然后取负,  则转变为求单一目标的最小值问题,
 

ff1是收益函数,ff2是风险函数

 

 

2.代码

 

function example_4_b()
clc
clear
f=@(x)-0.5*(70*x(1)+66*x(2))+0.5*(0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2); 
%fun='[-(70*x(1)+66*x(2)),0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2]';
x0=[1000,1000];
A=[1 1];
B=5000;
Aeq=[];  Beq=[];
lb=[0 0];ub=[inf inf];
options=optimset('display','iter','Tolx',1e-8);

[x_f,fval_f, exitflag]=fmincon(f,x0,A,B,Aeq,Beq,lb,ub,[],options)

 ff1=70*x_f(1)+66*x_f(2)       %收益函数 
 ff2=0.02*x_f(1)^2+0.01*x_f(2)^2+0.04*(x_f(1)+x_f(2))^2   %风险函数

 

3.运行结果

 

225fc78bf41d4912aeeffa5e5c45ce07.png

 

b067052a76d846acb0ff151bc1fd9dfa.png

1bf002af88d34c93b6eb2975a9778f65.png 

 

 

http://www.lryc.cn/news/108832.html

相关文章:

  • 暑假刷题第18天--7/30
  • 通向架构师的道路之Apache整合Tomcat
  • 如何消除“信息孤岛”对业务增长的威胁?
  • Kali部署dvwa和pikachu靶场
  • ​LeetCode解法汇总722. 删除注释
  • Linux中的firewall-cmd
  • python 最大归一化
  • Netty:ByteBuf写入数据、读出数据
  • C++(15):面向对象程序设计
  • 2023牛客暑期多校训练营6-A Tree
  • Vc - Qt - QPainter::SmoothPixmapTransform及QPainter::Antialiasing
  • 【练习】条件变量:创建三个线程 id号为ABC,三个线程循环打印自己的ID号,运行顺序为 ABCABC
  • SpringBoot项目修改中静态资源,只需刷新页面无需重启项目(附赠—热加载)
  • clear_data_code_2d_model
  • “深入剖析JVM:揭秘Java虚拟机的工作原理“
  • elementui表格table中实现内容的换行
  • java 框架
  • 死锁的发生原因和怎么避免
  • visual studio 生成dll文件以及修改输出dll文件名称操作
  • 【Leetcode】73.矩阵置零
  • zabbix监控mysql容器主从同步状态并告警钉钉/企业微信
  • ARM 常见汇编指令学习 9 - 缓存管理指令 DC 与 IC
  • 落地数字化管理,提升企业市场竞争力
  • 2023华数杯数学建模竞赛C题思路解析
  • Photon之如何解决Photon Server无法在局域网使用的bug
  • Redis两种持久化方案RDB持久化和AOF持久化
  • 银河麒麟v10 vnc环境配置
  • 【动态内存管理助力程序优化与性能飞升】
  • 电动汽车设计、制造、研发的学科、技术和前沿科技综述
  • NsPack3.x脱壳手记