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

matlab优化求解的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:) e# `! r) [$ S* d5 e
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;
/ I. I* y+ J  `0 S9 f2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?0 z. `& J4 E- }
clc;  |9 }* {% R7 O% i! p+ Z1 G
clear all;
8 U8 y% |( A1 P1 ^: B0 M# v. X%%%  赋值外生给定的参数  %%%
7 [) s8 n( q7 U$ Zwn=0.3;
; V: o  C1 E- s! L* e* T7 Cwt=1-wn;
' V: Y" b; \+ c9 h( B3 dr=0.05;
, D. d3 Q3 N' R  Z) o4 B+ r$ Jbeta=1/(1+r);
% d2 K/ a! c; kepislon=0.05;( L. N7 s( _. g" e9 ^- q
phi=0.3;
8 p( E* L. {1 e! l5 g% wy1=1;" j+ d7 P, v' V
yn2=1;- f" ]7 v5 I7 F) @& N, g7 R3 r9 o
y2mean=1;2 K0 k. j* J2 @# o
y3=1;
/ _+ m# _% x1 I* qtheta=0.9;
6 D; b  t* p  t& \4 R" A, q4 Q- \& K8 C. k

% ^9 c5 J8 E+ w9 U  [- G% 赋值(y2,s,d1)
  G# Y' S+ K& q7 ]% ]0 my2=0.95:0.01:1.05;# S" p- w' ^/ f( B& r
s=0.1; %给s,d1的任意初值
* L$ y& T" y- \d1=0.1;5 R1 v2 g: h2 M+ w" F3 J' T+ K
x0 =[s,d1];
1 q  w$ b1 a7 G
! P# R2 m- _" F/ @  B7 n3 j8 U
: M1 F, M' l, u5 X* t- X0 j
%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变3 @, t) D! R* Y; c+ y- X8 ?
; b2 y; a9 Q8 P6 O

" J5 E* f7 x1 X: E! L+ Tfor i=1:1:length(y2);
3 p! A2 k& v4 Q5 Q) x  r2 Js=0.01;
, W( q7 \! T2 Q* Q# fd1=0.1;
9 ^8 ]; O# K2 t1 l$ B2 n, T0 F% w! H- {3 @0 i

0 A, g  Q: V  f( I+ j' l%%% 判断是否紧约束 %%%
! W+ o) h" F! f% hstandard(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));
& I4 I) u2 P# l( W/ jcheck(i)=d1/(1-s);, Y% Y) w$ ~- q% [5 k# u. b  J0 a. x0 O- Q
if check(i)>standard(i)3 A$ A# l4 }, `( X/ Q) g& A1 v
    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);  _- {5 x! w3 `7 C
    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));# L; {3 T# @2 A/ q: \; O
    ct3(i)=(1-s)*y3-d2(i);
6 C* {- B% Y) C3 V( H  i4 e    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));: o' @7 f- y* i+ ^5 w
   9 m# j* C. l3 ]
else5 d/ Z9 j$ Q2 f/ o- A+ r
    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);& E0 ~1 i$ V$ F; ?
    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);
) n4 y& x  ?3 i7 E( q    ct3(i)=(1-s)*y3-d2(i);' r$ S& \( ~6 Q# ^5 I/ R

% T0 w( Y6 D8 \/ D- ?/ r- F
9 }' G+ w  h9 L; {- b
    mu(i)=0;' T. R- k0 l9 _1 p, \& F! W
end5 L$ O. _# u# m1 {# |
e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)1 w# f6 g7 H. ~  A$ r6 b& C" H
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
! t5 s% G0 b/ J0 |/ @
% i: z2 H% q: r! i2 d8 B

7 o% n; G9 \! }! T%%%求均值%%%, J* J$ I* J6 f' \! k! U
expect1=mean(e1(1,:));
" i5 o5 w, X7 u& w5 i/ X% G4 Bexpect2=mean(e2(1,:));
) L6 I" Q, \! t& o2 {end
  i8 X3 H# f% N) U" H8 @4 w# z3 r! Z- t9 [+ S! h! |
$ }7 B. W8 t4 }  p3 p+ z0 w
%我的问题中,expect1,expect2实质上是s,d1的函数
# a9 B. ^5 X+ M2 G%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,* i* ^( E" m: Z! |/ U
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化
6 B: u5 G9 L! `, {4 Y) F7 U1 x%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。2 o- ?* z3 H/ [6 x3 V' E5 D# W
4 @- {3 D7 g- |; v) E
. t3 n7 N. [4 {- d; d
[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);) r+ \5 p: Q0 w$ f" O. `

4 V' U& @+ \, Y5 n8 h

9 Q  }$ o. k) q7 Cfunction f=foc(x,expect1,expect2)% H* i) ^  W1 E
wn=0.3;
* K# x" x- y. J" ]) nwt=1-wn;  \8 F* a5 W' _& q, j
r=0.05;, d5 M' K  j5 M6 a2 @7 ?! |5 }: v1 ]
beta=1/(1+r);
( y7 l# V8 u+ m6 Iepislon=0.05;
+ P' _) W  p0 }; t7 qphi=0.3;5 g1 ^" \' H* D1 @3 }. E5 U0 N  e
y1=1;
1 ~; q% o5 i" myn2=1;
5 M: s! g2 t% L" z1 Wy2mean=1;
1 N0 z' @3 I2 o2 u% wy3=1;
% K  A7 B( U7 s+ ^1 P3 j# jtheta=0.9;
0 [$ \% f8 z; I$ I9 @s=0.01;0 f8 A( W9 t5 L, H% e. Z
d1=0.1;
. b( v. w9 m7 G8 Q/ `8 Lct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;6 e: `- c, E! n

+ y8 E$ k' Z3 _+ u% s) F4 [8 h

9 e- ?+ K0 y. l6 I/ ff(1)=wt/ct1-beta*(1+r)*expect1;  j% T+ J9 ]( P9 P6 W% B1 P. n( {
f(2)=wt/ct1*y1*(1-theta)-beta*expect2;
! n5 b  w9 N  J( xend
+ x- }. D& V4 s9 t: F 5 S5 Y3 m( F* W0 n
' }% I  Q* @% Q0 z. b6 W

该用户从未签到

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

该用户从未签到

3#
发表于 2021-1-11 17:43 | 只看该作者
; {8 s+ l6 F# R+ G" X# r9 \' I
你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 02:34 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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