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

matlab优化求解的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:7 ]) f+ r+ W3 b% n
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;* ^) Z! D/ y6 U" V. C; s
2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?3 e$ O9 |, E/ F; X! p, b9 h% t. U
clc;
. U4 @" f, Q7 K+ K% U0 {: s1 `& Bclear all;7 [7 H* Z$ M" T8 o7 c4 S
%%%  赋值外生给定的参数  %%%
6 R( n# p- ~+ k6 Uwn=0.3;
3 ]. |* R, E/ R& u9 X- awt=1-wn;
* ~9 J5 M0 |: Y% b# Mr=0.05;
7 g* C: e& G4 gbeta=1/(1+r);
' c- ]3 s) u+ z3 ~* E* k0 ^epislon=0.05;: Q. k& [& a" k1 h9 Y& G
phi=0.3;
; d- o- G# c$ `! Hy1=1;
+ `3 \9 B$ j( J* Kyn2=1;
9 q  E4 [- _0 K/ a2 S# z+ D- @  yy2mean=1;
5 H9 q5 p- D! i( zy3=1;
, ?4 s7 ^) f& A& a& Ftheta=0.9;
' s9 j( [9 w, C( m
+ b) @( F$ b$ U. V
3 o; [* W$ d. |9 P1 A
% 赋值(y2,s,d1) + T* {" H+ r0 E$ s  _8 O6 Y! H
y2=0.95:0.01:1.05;, L0 |* W8 {4 j! T
s=0.1; %给s,d1的任意初值
2 [* ~) m1 j/ K! K9 Y. [d1=0.1;
; q, c& p2 r, U( n3 Kx0 =[s,d1];" @5 P" `& S5 s/ F
; P0 ]2 R5 N, E: K& e2 u$ c
- m  i& b- q; s# v. I" v
%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变7 b8 f" ?; B6 B5 S

9 u+ b4 S$ m3 }0 ]+ P
8 M# q6 G" [: y* l2 u+ Q- U
for i=1:1:length(y2);6 E; ?* T) _- K
s=0.01;0 R2 N. `  d9 k" V9 B0 F+ c2 ?
d1=0.1;& u8 i" E# l% m8 \( S) u  o" }- G
! o! n/ C" l9 g

4 G* u; z: p5 h- {$ C%%% 判断是否紧约束 %%%
$ h0 U( F+ j% n; rstandard(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));
5 i  q& n$ t7 t( T5 c* k3 lcheck(i)=d1/(1-s);
; E4 q5 s  G; d$ \# c& g# X7 `if check(i)>standard(i)
' c  R) ?& p' K+ }3 t( e1 H    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);
4 s" N1 @5 m7 a8 i# X    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));
% R, A8 |+ N4 H# |! n  W( V- i, l, O    ct3(i)=(1-s)*y3-d2(i);! ?' R9 ~" _9 O: _
    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));
) S6 _8 e" o: i, }) w  K* L" b0 u   9 I  `0 A6 q$ V8 ?4 L; S- k! z$ I
else, V* K+ m+ h9 H6 H! _( C
    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);
% k! D7 ^5 [# H0 b3 e    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);2 F3 {4 B$ ^$ I3 {6 y
    ct3(i)=(1-s)*y3-d2(i);
. X: y, _. f2 k1 W) y2 I8 U+ g. w. k# z8 k2 p

9 o, f- {7 n" a8 ?" V    mu(i)=0;
. |. m2 c4 u4 e& a; Hend
! H+ R" M$ k$ y6 a" m% ne1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)/ c# x0 R. J, G
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;5 r! b/ A1 ]0 V1 N
8 m+ |5 |1 u; Y1 X3 b4 T

! o5 L* l( `. M# a: g: P  K%%%求均值%%%
2 }  S# k* d& i" L) ?: ]' f5 ]) Lexpect1=mean(e1(1,:));
5 B/ }  w+ O& G( p' D* r+ Qexpect2=mean(e2(1,:));
+ }7 V$ V5 j5 f8 Wend
" n6 r' J7 `, ]+ l( N0 G2 _0 c
- U* k/ m0 G2 v5 b, C: h& X
5 G# L5 M; j  j3 P+ n$ U6 ^
%我的问题中,expect1,expect2实质上是s,d1的函数
1 f" w3 @! Z$ ~8 r- {7 u%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,' b: i! v4 i: T4 A! T. U8 ]8 f
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化* ]2 a  H( I7 f( C0 e& H
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。
1 R' w" t" v* |6 l' D  A% f$ E
( P. _1 n1 L& ^4 z0 d
0 s. H. a$ ?* A
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
2 [+ R; W  z5 S9 V
- R: f$ ~  F: B5 I) V3 p
2 d5 u; u! {# z) W
function f=foc(x,expect1,expect2)1 t( I- t8 ^/ z9 a# Y* Q
wn=0.3;
5 a; l6 D2 d) p( a) mwt=1-wn;# _: n2 c0 m* B- {! ?
r=0.05;7 F$ m3 M& A$ C& \  c
beta=1/(1+r);) u9 t9 B' J4 ]" m& i) w: d
epislon=0.05;$ w1 w/ m5 }1 Q
phi=0.3;
4 o. z# A8 O$ j# ]y1=1;% ]: ?- m/ C' s& r* O0 ^' f' m
yn2=1;, B, Y8 ^5 @, q
y2mean=1;
7 Q( i) [& ^$ H  g" By3=1;  S3 W0 ^* Z8 ]7 h
theta=0.9;- r3 A% `$ y3 y
s=0.01;
2 m( Z1 ~0 y8 ^9 m; n6 id1=0.1;  T  e5 P' [! X* |- i5 b& M
ct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
! Y0 j6 X! E& Z; s
9 @  v6 I- V4 r# f4 u& o9 q

9 k" X6 p& ]% W# L* h8 R4 b6 }f(1)=wt/ct1-beta*(1+r)*expect1;7 m8 Q! q& M' i. z1 m: Y
f(2)=wt/ct1*y1*(1-theta)-beta*expect2;' P2 R, @! i! x7 ?$ q' U
end1 O8 h$ o4 N4 n' I: v/ d. Z
4 D2 M8 X- {9 ^* u$ z0 [9 @
. I) \6 j: Y- c

该用户从未签到

2#
发表于 2021-1-11 13:08 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-1-11 17:43 | 只看该作者
) Z+ C2 h3 V* i- Q
你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 07:28 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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