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

matlab优化求解

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:3 P& D4 a: [( P& ^+ F- }
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;
: {$ s3 B1 b! Y8 V% ~/ r9 W2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?5 o5 U4 p  E7 x+ Z8 q; V
关于这样的编程问题思考了很久也没有编程思路,请求大家给予指导,我在代码中相应部分也对问题进行了表述,如果我的问题没有表述清楚,十分欢迎追问,先谢过大家。
" q% n  }  x1 Kclc;
% E, Z) G# O* B1 M, zclear all;2 ^6 C0 _2 M3 E$ c  V
%%%  赋值外生给定的参数  %%%
0 @, e! [* S4 r: n  \, B" f5 ?* Dwn=0.3;
* `. L" J$ y6 D. `( Zwt=1-wn;
  ~6 u& t" z8 A0 Q! m, I% e9 _r=0.05;2 I  e' [0 |6 m! W
beta=1/(1+r);
- \' j9 F9 g/ repislon=0.05;9 ^; J# Y% t0 `9 H9 ]$ \" K, T
phi=0.3;
: o4 H& ?5 |6 |7 Ty1=1;1 I9 V# [$ u& O/ {4 |
yn2=1;
, ?0 @* M: R6 k5 D" L; J1 ky2mean=1;, a1 A4 K- O5 b5 A
y3=1;
, q& i5 C* L, G/ L9 v, u# s1 w+ l# f& V: {theta=0.9;
) B0 q, x8 E5 S. e7 x7 @& I* i% F5 b! d% }+ F- B
% 赋值(y2,s,d1) : a2 _, ^! Z% ?  D: h0 b; u7 {
y2=0.95:0.01:1.05;! g  t& q0 C" x" J0 H
s=0.1; %给s,d1的任意初值
, b0 b# L! ]! ^6 Rd1=0.1;" R, T9 K0 A' E, v9 u
x0 =[s,d1];
3 Z0 }# I( c+ o1 p* K
: t; N; y; C& S0 r% O6 |%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变& L. T  j* U5 L+ D) S- J
" |; x, v8 `2 e7 ?: Q
for i=1:1:length(y2);
9 Y! F* S9 V+ S8 |$ u6 Z& |1 _9 M/ `s=0.01;# {4 s6 D0 Y( g& U! L; ~. u. ]
d1=0.1;: B8 ?" }% i: w- F8 F; f3 Q6 B; l
; K. _- [, e0 d- k5 @3 f' O) r
%%% 判断是否紧约束 %%%
; b' W, Q# [! pstandard(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));$ c. W) q2 p: t4 i3 K: g
check(i)=d1/(1-s);
$ V1 F- G8 K: H  `4 t5 _if check(i)>standard(i)
/ t2 O5 H$ O0 y* E! ~5 G    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);' }' C8 N9 h- F
    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));; ?; r, C! |1 R8 H" H) ?* |
    ct3(i)=(1-s)*y3-d2(i);
  A. ?) {) a+ C& C& @    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));
+ p" z  i9 ?' l9 D) K8 L) p* v; ?
else
7 H! x* B  g3 Q7 s: N    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);
; {$ b6 n$ l9 X6 l  S    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);
6 k% }. R2 g: `5 ?    ct3(i)=(1-s)*y3-d2(i);, k8 C7 [* ?- I  n. W% g% s

! g2 \2 }' L! I* _* g$ C    mu(i)=0;* [( S6 k1 j- O) a+ ?
end3 |% |9 ]0 c6 Y5 ^6 a
e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)* J- k* ~/ R/ Q/ H% W
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
! h2 F4 `  K& {4 V, K" Q2 C) [+ h+ \% W
%%%求均值%%%1 A: c" g( a* R: v
expect1=mean(e1(1,); + F; ]" B% Z  g+ R6 }
expect2=mean(e2(1,);( [' L; i: V, V, t5 J. M
end* d% {" @( a- y( ]
7 c3 l- T  S/ _6 b1 h0 m* w) Y5 Y
%我的问题中,expect1,expect2实质上是s,d1的函数
) j- Y, A; C; o" g) t%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,5 \5 J' H1 v0 m, @& p" f, i1 M
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化8 B/ A! h; G/ _8 M
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。8 |' x; N3 u) ~0 N

: q* m. r) P- h( o4 i8 g; f[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
, ?; O% L1 X1 C/ i3 q* L
( u# p% l2 g: K. P7 K% o; yfunction f=foc(x,expect1,expect2)
' d; [1 Z5 g% j7 ?7 Y$ zwn=0.3;
# W  K$ q+ A6 p7 |1 B5 G& gwt=1-wn;
& a# D" ]* @5 cr=0.05;& z1 b; `2 G" X: d9 ?& i7 n
beta=1/(1+r);4 M% g5 f9 f# O* Z( |/ D5 o
epislon=0.05;
& Q, F# b! H2 p/ M8 e- }3 zphi=0.3;+ H! h# p7 d+ y9 ]9 t7 {3 |
y1=1;7 l# Y8 T1 E( Y" T8 T- W5 m
yn2=1;
2 `* h9 g* b+ Y4 b- a3 z) u- Ay2mean=1;& p' W- @( r% _( `3 V
y3=1;+ W& `" t; b+ D  X1 G( W5 I
theta=0.9;
$ U/ {" P! n" N! A% p7 k- Ks=0.01;
0 _; B: ^1 o- m/ Yd1=0.1;# B. i& o8 C/ N/ D2 E9 E) k7 i; g8 o
ct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
( }# ?9 E4 f% ]' U7 R/ N$ f8 u$ S2 z
f(1)=wt/ct1-beta*(1+r)*expect1;
% E% x3 K: m! `/ Kf(2)=wt/ct1*y1*(1-theta)-beta*expect2;7 Z3 M/ s; m3 f
end
' P/ Y- R5 r# o/ P- P, H; ^: E # N, L3 t- t2 l( e" B/ E
! ^( @& U  d, }

该用户从未签到

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-10-6 09:20 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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