找回密码
 注册
关于网站域名变更的通知
查看: 496|回复: 3
打印 上一主题 下一主题

matlab优化求解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-1-26 11:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:  W. W6 w& k# j. B, {
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;
3 m4 B! Z1 S0 X- I2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?
. |  T. l7 f1 f3 i关于这样的编程问题思考了很久也没有编程思路,请求大家给予指导,我在代码中相应部分也对问题进行了表述,如果我的问题没有表述清楚,十分欢迎追问,先谢过大家。
: M( w3 x7 l1 b# v" Z! aclc;0 r, h: U& i5 g# I
clear all;
  r* R; _1 _! L- X3 w( H8 r( J. w%%%  赋值外生给定的参数  %%%: J# k8 J3 H; Q- r
wn=0.3;; Z; e% [( p# _# Y; m8 Q
wt=1-wn;! ~4 F7 T$ M: c# n7 u5 i' \# |
r=0.05;* l/ B# u$ A. e
beta=1/(1+r);" C: h! q" T' W. u
epislon=0.05;$ R/ R2 S' y/ u2 @5 G
phi=0.3;  f8 P1 |; L* v- J1 h) V" d3 O
y1=1;
( c* J( B$ P6 i+ syn2=1;$ C9 Z, `% D* b  _5 R
y2mean=1;- b( T, z- g: G+ n2 V
y3=1;/ \  L/ e3 n8 q
theta=0.9;3 H0 {' O2 D/ G! R7 @

6 ^/ z& M& i/ J$ }% 赋值(y2,s,d1) : B( e2 ]6 q6 b  |4 l- L' J
y2=0.95:0.01:1.05;
& l- ^1 O2 N- @7 R  ss=0.1; %给s,d1的任意初值
: `! \- D% ^; y% K* {6 Qd1=0.1;
( b. ?1 @* h! s6 ~: u' u! Dx0 =[s,d1];6 e+ u4 p$ x, N& I- j/ K( j. t/ G1 u

; c/ J. C3 k8 p- q& ?" E% Z%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变
2 ^- }% z# l5 S) |) }$ q, Z6 j: U7 a+ q! [* i3 u$ x  S( [: {$ O! e4 x
for i=1:1:length(y2);: `$ `: ~) p, w) C0 O9 H
s=0.01;
2 E( d* _% a( |d1=0.1;
; J$ J" L& w; [5 B1 a- `3 P# d! v4 M  B: q
%%% 判断是否紧约束 %%%, a% J; {% {, u2 S6 {8 ^# H
standard(i)=y2(i)*((beta/(1+beta)+phi/wt/(1-phi*wn/wt))-y3/((1+beta)*(1+r)))/(beta/(1+beta)+phi*wn/wt/(1-phi*wn/wt));/ t: F+ z7 \* d; Z( m9 A
check(i)=d1/(1-s);
  q2 y- d6 V. |9 l) Fif check(i)>standard(i)+ J, @: Q& M4 ~9 v5 H
    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);
& t5 g( E2 t: R0 ]7 Z    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));+ O! d6 k) ?* m5 Z6 Z
    ct3(i)=(1-s)*y3-d2(i);
( g4 }9 f, y. R( U    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));/ v' \" f, ~! e# q' i' Z3 X5 ?

/ M8 F1 Q9 q1 d; ?2 c  B$ uelse
$ X. G+ ~  ?3 a- L  f) r8 x    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);
. L3 w/ \  P; }$ T- {6 v    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);
! g- {& d+ `8 ~% }6 N% [    ct3(i)=(1-s)*y3-d2(i);
4 e; n- u, v4 i' K
; S6 v2 K6 P0 G    mu(i)=0;3 _6 s& K2 c2 `5 T0 G& b# ?
end
& n$ e2 j  n1 R) {e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)
+ s8 g0 X1 h6 ?! p5 h, he2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
' O4 p' c  m. r8 e0 [8 [( \7 J3 a% u! E- e
%%%求均值%%%/ ]1 d0 J, {7 R" q) e  x& y$ ]: b" R! }
expect1=mean(e1(1,);
5 z3 I( x% s. r7 w& a- y0 Nexpect2=mean(e2(1,);
, z3 m( G" c; A! J4 Fend
2 G; G- [1 _: v$ h! _+ z& {2 A) k7 H% A/ f4 T
%我的问题中,expect1,expect2实质上是s,d1的函数
, X/ G2 D: ~* S! x& a+ n7 U3 c%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,
; E9 {; q5 ~" X' E%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化# D# h* ?1 i' l5 R
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。* q9 i) W5 B4 x; O4 k
: C% u# P0 }( P/ D% }) e$ ~
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
; o3 w0 u- c1 v- i
0 P! d( \) S: p3 h- e& W9 K. Zfunction f=foc(x,expect1,expect2)
5 k4 \' e: D% b. {/ r7 Vwn=0.3;
3 x$ C9 e8 K# }. c' K+ ?wt=1-wn;* y* |  N, ~! T1 y$ \3 D  G
r=0.05;
3 O! u& u7 c& mbeta=1/(1+r);. Q' a' m1 U; I: K
epislon=0.05;
; K. A6 s$ n6 `phi=0.3;/ l$ m" E5 F9 ?, s! O* F; W+ m/ S" R7 V
y1=1;7 h. f/ X  i. ]% ^/ t
yn2=1;
* z* A5 y! [. z* M) [7 t# ?: gy2mean=1;
9 {" C, ]: Z; Q7 k4 X1 X) o7 ny3=1;
7 t4 r$ [/ c/ k& V' _" t: Btheta=0.9;7 w& v" P9 ~/ a+ F' _# R
s=0.01;9 {" @6 N# u; p, W' L# e
d1=0.1;
& q+ v! Q4 R3 ~. |/ a  Ect1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
1 C/ {5 z% {3 ~
2 i; P, X" c5 o( K) `1 zf(1)=wt/ct1-beta*(1+r)*expect1;
# `- i5 f; J, If(2)=wt/ct1*y1*(1-theta)-beta*expect2;! B$ H' a3 @; R1 n# M( f  z
end
0 T2 `! f0 H  P' f+ b  d
" V. A- C3 N: J# W& q8 G
, @  h! y' J" g

该用户从未签到

2#
发表于 2021-1-26 13:13 | 只看该作者
你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题

该用户从未签到

3#
发表于 2021-1-26 13:33 | 只看该作者
来学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 07:16 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表