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

matlab优化求解

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:
/ d: e# M+ Q- R4 D1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;9 v/ q0 B" x: J. E% z2 ]; `" H
2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?+ T# T( M) N; k$ L. M
关于这样的编程问题思考了很久也没有编程思路,请求大家给予指导,我在代码中相应部分也对问题进行了表述,如果我的问题没有表述清楚,十分欢迎追问,先谢过大家。
0 s. T( @" T! E: @$ _clc;4 |* }3 k; B2 H8 C; _7 e2 s% j
clear all;- K5 [0 N: g/ R! q! L
%%%  赋值外生给定的参数  %%%
; T" o# j% t, u, G3 J9 _# ?, }wn=0.3;1 F/ g3 k1 G0 k  s: F5 X2 V2 e2 s% R
wt=1-wn;
- h) Z! W5 D7 @2 L# k7 }/ Lr=0.05;
& A2 C# D7 S" y4 X1 P1 J, _: ibeta=1/(1+r);) Q" }% F& R+ w) f: `5 ?
epislon=0.05;
1 ?: b/ o8 @5 X# Nphi=0.3;0 @+ W, _) x" z$ N
y1=1;. `4 @2 C2 B, W9 j
yn2=1;
% l/ E/ ?" S% D' I  zy2mean=1;
# J, `1 S% ?4 c2 R2 ?/ j$ z" K) jy3=1;
6 }* m8 K, S3 y4 |: v. C; rtheta=0.9;3 c7 e2 x8 A9 t0 g# ^3 F  \

' T4 R/ l' e% e: i. o) n5 L% 赋值(y2,s,d1) ! [, H" x' N; S: h2 _% ^. o+ @9 i2 n
y2=0.95:0.01:1.05;
- U, _: W9 j( @3 r% H, zs=0.1; %给s,d1的任意初值
) H3 x* v8 n5 {5 _$ G# qd1=0.1;" ^2 L, l  ], G8 t8 w' k2 N
x0 =[s,d1];  h6 X/ F7 E$ V  p+ ^3 U

2 m& J4 P5 {. q7 v%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变
. V0 `& N6 K2 N% n. c# b
: L* G/ o2 G* o( @% E" efor i=1:1:length(y2);8 {! R' m7 R% F! u! B
s=0.01;
7 ]1 o& o9 ?- m8 G+ u8 nd1=0.1;
" Z5 Y2 Q- V) O7 D* d, K9 f3 I" d8 p; j- w+ X
%%% 判断是否紧约束 %%%* A9 L& a" {. D
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));, A: v, E, F# l" k
check(i)=d1/(1-s);8 t, i2 Q# a! T
if check(i)>standard(i)- k5 k1 S" J. l
    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);; S. }3 g" ~& A8 m
    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));2 W6 o1 @) ^- k4 ~
    ct3(i)=(1-s)*y3-d2(i);3 j( j, P- g. @1 ^
    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));
. Z0 J8 @6 x6 y, u# @: {  ]7 U2 r$ M$ b7 l4 K, ?. |; J
else
/ O. v1 U) v" p! M5 S    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);
  B) i" k9 A! O) Y. l    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);* k) ]9 R2 D( @
    ct3(i)=(1-s)*y3-d2(i);% e- ^6 ~; [* \; v: f
5 w5 q9 W0 f$ U* _& V2 K+ A; D
    mu(i)=0;% u, z! o% L! T& K& @
end. e, E8 ]* p6 Z; Q0 z6 I/ l
e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)7 p* K/ q: S0 }
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
& G7 x# E" [) a: f: @  |0 b! N# O! i: N$ X$ h0 {9 m6 ?. }8 O
%%%求均值%%%- t& E, J0 y/ n+ T# z0 {  L+ X
expect1=mean(e1(1,);
9 D* _: ?$ h! n4 dexpect2=mean(e2(1,);' Z6 Z* @2 K# S. d. b
end
; p/ {9 U$ u, R! ]3 h8 }- s( v9 t
%我的问题中,expect1,expect2实质上是s,d1的函数5 o5 Q) ~: l: D5 B, W! C. a5 p
%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,! A' l5 d$ ~9 P; {4 U3 c2 ?) }
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化9 U) Q; j9 [, H) a# H
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。& \2 K6 B, Q! V" u7 K* X
0 ?5 V4 |6 U$ d& S1 o: d/ s
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
+ q6 ~6 f$ d* m  s! S3 ^+ ?
7 T  K; y) A( d6 Ifunction f=foc(x,expect1,expect2)% q2 P8 u. J" [& }4 I4 P& \* r
wn=0.3;
: T; y4 q% c. y! _wt=1-wn;( Z; O6 V8 `8 x$ O- m
r=0.05;
3 R# U' A' H+ g; {  A& e! c7 Tbeta=1/(1+r);
+ z  m. Z  f9 Lepislon=0.05;1 I: m' @) x' I1 a' X
phi=0.3;
* H3 ?$ r3 U# q- u7 ^! ly1=1;* O, Z2 P! ^/ X# l+ y* ]
yn2=1;
" w* r5 h8 H! ^4 ~/ Z% oy2mean=1;
3 D" C8 d! u# w0 P' Wy3=1;
; K' u/ y$ I7 Z* |theta=0.9;
: U: Y5 O7 f' i# d) G( r2 {+ `s=0.01;& K3 I" C1 }9 `3 j
d1=0.1;4 F4 g2 H. s, x& q
ct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
! t" o: c( g( O( y- M; W; v9 L3 E; z- S5 F, U7 x) n# K
f(1)=wt/ct1-beta*(1+r)*expect1;; O# k  |; {" r1 |
f(2)=wt/ct1*y1*(1-theta)-beta*expect2;- P, a+ k. e6 h
end1 H5 h7 h6 ]2 p/ e& ]
* K( C' r7 ?( R2 m

! K5 p* }3 ]! `* t7 G1 v$ g" u

该用户从未签到

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 09:42 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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