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

matlab优化求解的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:( A4 m# x/ I9 y3 L( O7 Y2 w# r1 b, j
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;3 d2 I/ i+ b) |+ h5 [1 L; g
2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?
' _5 D1 k2 _" O- T+ _7 eclc;6 M+ x& F- `# B; P" q; n& x
clear all;
, G8 H" t0 y9 J0 G9 K( H1 H%%%  赋值外生给定的参数  %%%
' Z& z* s% m" c; O1 Y  Vwn=0.3;
& G9 C# C0 p/ v* _wt=1-wn;4 y0 b4 F  U% o, L: u" ?, s8 I9 C5 X
r=0.05;2 x; J9 i' D1 f, n
beta=1/(1+r);
% e& W. j9 q, P' d! }epislon=0.05;
! a$ X" [, K8 bphi=0.3;3 J* R' g& m; d4 Y, \0 x  r
y1=1;
7 X( Z/ h# [6 |yn2=1;
1 G# U. R: o* z; L! n, ly2mean=1;# s# v; b  ?* U
y3=1;. R. Q( B) R/ Y8 p+ S& E/ g) m
theta=0.9;# q" C$ [" U4 t2 k1 ?
- A. B9 g8 A4 U  e0 r: b* o

4 E) h6 k, X+ Z# [8 b2 l* O% 赋值(y2,s,d1)
* c3 Q5 I6 Y, g4 jy2=0.95:0.01:1.05;' u1 p( L1 T# n
s=0.1; %给s,d1的任意初值7 Q3 ?: R: L0 R/ r
d1=0.1;  T; b+ |/ I" F
x0 =[s,d1];
- C' k) s( A- |% n
* {/ W/ B. l" C; }
( o6 s2 M  h6 j+ S
%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变! q) P9 s8 w' P" m! e" E1 ?* Y1 G% Z+ O
# F3 W7 Q) |" J5 n( i4 N1 E

  B4 ~( g) Q- {, Y. yfor i=1:1:length(y2);
: B) e/ D) b" ?. us=0.01;
4 g" C4 O: ?; R) z: O  Ud1=0.1;
3 C# N% I4 H0 h8 Q  |- k3 I$ u$ g" a2 D' r6 o; S2 r% P& u8 u9 p/ z; w
: O: x7 J4 f6 I: X- T
%%% 判断是否紧约束 %%%8 }" A9 P3 n4 w9 p3 z' U9 ?3 s
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));% f) g, g6 |9 ?/ [7 |7 P
check(i)=d1/(1-s);
% N7 o" I0 |1 _# c9 |. |# r# Kif check(i)>standard(i): D/ v5 P4 w: S; m) V2 \' k
    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);
5 Y( ?& y& Q3 d6 Z$ C    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));
) r+ E, b( H5 `) w% s! i0 `. B6 A" W9 o! j    ct3(i)=(1-s)*y3-d2(i);
$ Q- [: N3 T: P, _+ T. H    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));
: _* d; `* q9 s& S   
6 Q% [- o2 H* i, U  Felse
/ R& G& I: q) g1 z% C6 g    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);3 q; f7 [/ u! h9 h5 ~. {
    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);
4 ?; `1 y4 ^% p" ?8 R' \# Z7 |; ]    ct3(i)=(1-s)*y3-d2(i);& g7 Y4 m! O0 L0 _
  U0 J* T: k# G/ o5 K

# W: c1 c+ Y& x    mu(i)=0;
4 x7 S: Y! V  V' z5 \- |& F. aend
+ ~/ s  y8 E% Q; _3 ~/ a' O! ke1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)  X' R; H4 |* Z1 H+ |3 ~5 h; }. G
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
4 R) \' e1 V* g- f" F$ }; {# z
: A: ^- E6 t5 l
7 |2 ?, n- `# k0 q
%%%求均值%%%7 N% y* J- Q; U9 k, z9 S
expect1=mean(e1(1,:));
5 ]( [7 y7 o' S) R- M( }7 g+ lexpect2=mean(e2(1,:));) g: K, p* A" P6 A1 I% ?4 g
end
& D6 g; y* i: w7 u! u, G  y
2 Y. x7 |& ~5 v. v
) F" t! |. g- i7 m- j) b4 K: G
%我的问题中,expect1,expect2实质上是s,d1的函数. Q4 f9 [4 G' v6 a; r  O
%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,
! d' e; q2 O: _+ O%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化0 Y/ X; C7 `! v, k2 `
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。, a. y* H( d, f5 b* M, i! F3 f
  J% ]+ Y" B8 @1 \9 z& {; v. S% ~
0 t5 I/ |5 k3 h: o9 R
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
0 ?3 B9 Q! y$ A$ H1 I
* ?' R! Q" r" W# {4 [, S& q
# N8 Z% B- a; N6 c
function f=foc(x,expect1,expect2)3 I# _, _( I; r; t  H
wn=0.3;( I. H/ M: x( [  W
wt=1-wn;/ z1 B% T/ i% A  n: \4 V0 @9 a
r=0.05;6 E% e' J! ~0 k- S3 r4 x+ e9 \
beta=1/(1+r);
2 w5 @+ W' ~+ j- \; }epislon=0.05;
; h, y0 p$ f' rphi=0.3;
: a3 d' W* _( F( }, Wy1=1;3 q, i! ?4 |$ A9 u# [
yn2=1;+ p; R, Y- b( z2 P
y2mean=1;
8 S2 S1 c( i3 P& K( ^  Ny3=1;7 V" J0 v  P% E7 s$ g
theta=0.9;3 s1 z: g$ u' q/ J, C7 }. g: i
s=0.01;
( U8 x: S9 q+ K* R" Wd1=0.1;
, N, b' y- {& k: G; [" }ct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
& Q2 x7 @. |7 V5 w
  F5 S) c2 ~8 ]5 S) H
# g. X% z& K& a  i
f(1)=wt/ct1-beta*(1+r)*expect1;
1 K- b7 v7 J, k+ uf(2)=wt/ct1*y1*(1-theta)-beta*expect2;8 A% A/ N5 T* y
end
1 Z2 f8 f: @/ u 5 |: \4 T" Z  |7 p7 k4 d0 J) a

1 ~1 v, g3 R& I& Y" d( P

该用户从未签到

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

该用户从未签到

3#
发表于 2021-1-11 17:43 | 只看该作者

, }; Q$ C( V' w6 O' d# b你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 04:28 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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