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

matlab优化求解的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:  e0 }8 w6 [" y3 u: o- T9 L
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;
" d, u! \- a2 Y* Z( R2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?% A  |# K# G2 t1 q
clc;
* x( |5 t& X0 ~clear all;: J% V  T5 o$ A% L  p
%%%  赋值外生给定的参数  %%%( ]2 C& k! x5 P& w: |. t
wn=0.3;, T$ ^, r( X+ t- t$ P, A7 e
wt=1-wn;
; f  j& T5 _4 C- p! E$ K1 D8 Sr=0.05;# W3 k- _8 S- a6 s4 h& [. _! V0 ~( o
beta=1/(1+r);$ O) ]( l! `7 M3 a2 y/ f
epislon=0.05;5 v4 I, Y  j, ]. g; v9 b+ j+ V
phi=0.3;
0 x+ W: j% t* v8 E4 t: C+ Cy1=1;
# v$ q/ `& }) f9 r8 \yn2=1;$ v: w3 p  z8 {( _& \
y2mean=1;
4 ~! P/ [! h# ^3 d& W6 N& Ay3=1;2 M2 Z! y- D6 n+ ^' E  R: H
theta=0.9;6 }6 E3 T$ _, K; V
) l% t0 ^4 I2 _$ M" \
# U) S( |- z: S! w( x) |: r' p; N9 }' w
% 赋值(y2,s,d1) ( ^) g/ D% W( K5 g$ H
y2=0.95:0.01:1.05;5 }/ P* M; y  i
s=0.1; %给s,d1的任意初值, w8 G9 K' O( ~4 Y0 y8 ^
d1=0.1;3 I2 c+ X& S+ p' `
x0 =[s,d1];% [- H! A9 q  ]6 u( y

& G7 L0 S. \1 l* u$ U$ w% V9 S
. z+ t5 \9 o' O+ J3 {/ r( i
%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变
7 X( K' K. J  L- |
& n# E7 s- A& B1 L( n5 Z3 h
# Z+ G/ ]! a0 m* z. l5 k
for i=1:1:length(y2);; \& J4 Y1 i0 v6 F1 R# ?
s=0.01;1 q8 A  `' N- |+ x* _% I
d1=0.1;! S8 Y7 j  n. ^0 i
* @, T. m1 J2 h. r% ?3 Q( }
8 I" s% D( N9 {! |$ d/ A9 o
%%% 判断是否紧约束 %%%
6 a  ]1 |# ?$ ystandard(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));) z- S$ x; v5 F+ X& F0 n: U
check(i)=d1/(1-s);
  }# R9 u  v4 I* r* F0 oif check(i)>standard(i)  x& L0 F7 s6 D$ n: D3 @* q
    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);3 ]0 J$ ]' s' h- ?( q
    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));. ]' Y' ^6 P* @" ]3 l% B2 q
    ct3(i)=(1-s)*y3-d2(i);% v7 @0 A, {* S$ J8 t, [
    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));' ^6 Y8 e$ S' i( n! p8 N
   / n# A  r' o! C* r+ M
else
7 _* y! N. @8 x# |, I    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);" T7 v% @2 e3 G7 b6 x
    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);4 ~# W0 r: R# _. L
    ct3(i)=(1-s)*y3-d2(i);$ o; |8 e" x) F

% L! D: \2 a" B( x1 x  W9 V
: s4 \& F9 V; d
    mu(i)=0;
  f% W6 Z3 R* H6 p  I; Q( v2 E3 zend8 p; T# \+ K8 A9 J4 Y
e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)
, Y" c0 N: g. D4 g( Ye2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;$ i9 W1 o* Y$ n7 K6 @/ G; j% y
$ O% v0 F: k8 Y2 w4 i$ X; e
5 O, M* s1 p3 B/ S8 G0 d
%%%求均值%%%- c2 t  p) r1 M  G
expect1=mean(e1(1,:));
! t# N3 T8 q5 e( K$ _expect2=mean(e2(1,:));
# F5 ]8 b/ ^0 eend) T6 n8 E' @' x8 t" M3 ]

# n, t" p* m6 J

: j9 R% `" n! e9 d5 u7 j%我的问题中,expect1,expect2实质上是s,d1的函数
) h1 s; B) ?+ F1 O. |$ N, H%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,6 v7 a' t$ o( V3 k: p
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化8 S1 w. ^  X0 j. H) k7 o% N
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。
* L3 J0 b) l! H
$ L' o' W- D0 T  v& L
: d0 q- U' Q' a4 S
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
4 v. T- ]( X. [5 X' \. @6 k2 A# G! [* X/ w% c

: m$ q; x% V* \: ]: U' Nfunction f=foc(x,expect1,expect2)
: j% Y( ~  O" Nwn=0.3;
( ~% q7 W9 o2 G  j/ q. V9 ^0 Lwt=1-wn;
7 f* r6 [/ ]- i" B1 S5 i8 }r=0.05;$ t/ B4 U# a% Q- o
beta=1/(1+r);1 l# r5 t7 u5 @/ U
epislon=0.05;/ D: Q8 K/ Y5 [2 P
phi=0.3;
) e8 O: L1 c8 K% g8 Hy1=1;; o7 G2 T& ?( s! E( K* W% B
yn2=1;
/ [  J4 h8 K: j/ ny2mean=1;
  ^0 I( A, B* u2 J6 H" g* xy3=1;
0 s* F$ O5 I' P3 }& d  Btheta=0.9;
# G+ A. w( H; s/ M& Ys=0.01;) g7 y, h3 g- g% K+ L# M' j
d1=0.1;
5 i6 I+ v* t, q7 Bct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;! f7 ?( x; t7 T* ]! X

: p9 G; m# l  ?3 T) H  M# b3 P
! f! A& m, [5 x2 S' \: L
f(1)=wt/ct1-beta*(1+r)*expect1;' t8 `; ~* Z; c) W* g* U# X8 V: m
f(2)=wt/ct1*y1*(1-theta)-beta*expect2;
" f7 ^2 v9 d- G: r) e1 B% t' bend; @* V% _3 V& H% T( f/ h$ n, I. x

1 @$ s0 M' @1 r" @- a1 X

' `" P% B3 i3 G

该用户从未签到

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

该用户从未签到

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

' {7 X9 Y) J8 X4 U( N你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-31 19:47 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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