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

matlab优化求解的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于matlab优化求解的问题请教大家;程序报错截图如下,我分析报错的原因是迭代点(s,d1)改变时,(expect1,expect2)未改变,具体问题描述如下:2 c; p" \$ b$ T5 l6 t& B' M
1.expect1,expect2是s,d1的函数,当fsolve函数按照优化算法找到新的点(s',d1')时,我的问题里时需要expect1,expect2也变化,这样fsolve的目标函数就也变化了;
% h7 C" K  Z$ Q! [) U1 j% F$ N2.根据上述1的描述,这个优化问题是否应该将(expect1,expect2)也纳入优化求解目标中去?这样该如何实现?
9 S$ z$ s8 H4 J! y0 `( Vclc;- p: T- p0 D0 n9 T
clear all;
- w7 f" h* X4 o/ [! G: b$ v% J%%%  赋值外生给定的参数  %%%
: p; C0 }1 u8 }% Twn=0.3;
$ ^7 `5 {, [8 T5 S7 b. {" m2 v* cwt=1-wn;
, e8 [1 t1 O& v5 g+ Rr=0.05;0 b  `5 T  B# {2 E9 J' J) y) u
beta=1/(1+r);. d; U" p9 B9 G5 [  Y
epislon=0.05;
# _% ?) Q8 @9 T+ Z$ H$ t2 zphi=0.3;0 t- i& k* n. n) ?1 y
y1=1;% z  }% E  ~, B" t9 l7 k
yn2=1;* t  n4 H+ H$ Z: Z. i
y2mean=1;
+ ^0 u# R. C: Xy3=1;8 o' W0 C0 V! c
theta=0.9;& F1 E+ [( U3 Z( \! m' A, D
; s; M9 ^0 ~. F# @6 Z7 u. T

4 j# `8 x7 J+ H( l% 赋值(y2,s,d1) , ?; X+ |( ]: Z" R5 J
y2=0.95:0.01:1.05;, `& U, a# j5 H; A( W  g) x( @
s=0.1; %给s,d1的任意初值
0 f  P, c# T2 g, m! v! vd1=0.1;
7 y# J) A6 U; k% ]# rx0 =[s,d1];
( h, O0 U8 f7 o9 E% n2 f) g) T- u) {  H
! e, s2 o8 O# u9 g
%在这个for循环里得到均值expect1,expect2,改变(s,d1),均值expect1,expect2也改变
# g) p% S4 `  ?! @" Q; m
: K% x# B1 @$ ^$ C

5 X. `- \' N1 P2 ^6 zfor i=1:1:length(y2);8 i6 B1 G$ \" G( `
s=0.01;: q) G* b. B  g7 p2 f
d1=0.1;8 {" g6 V% O7 f6 F0 H, q

$ M5 y, T; |2 V# J1 N  h

# r% p% Y  c# w1 I' w%%% 判断是否紧约束 %%%: P5 ?" H' z# P! k' [+ V
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));
7 b% J& [2 m5 Y" ncheck(i)=d1/(1-s);! j" {$ P# }: c1 y- d7 \+ x
if check(i)>standard(i)
) s4 s& x- N7 f; X& z    ct2(i)=((1-s)*y2(i)-d1+phi*(1-s)*y2(i))/(1-phi*wn/wt);( Q3 \3 N. H6 U% {$ H
    d2(i)=phi*(1+r)*(wn/wt*ct2(i)+(1-s)*y2(i));7 T/ k: y. o/ P/ D' t
    ct3(i)=(1-s)*y3-d2(i);
. V4 s" e0 b3 v6 S" j% N) Z    mu(i)=wt/((1-s)*y2(i)-d1+d2(i)/(1+r))-beta*wt*(1+r)/((1-s)*y3-d2(i));
* `2 [) N8 {8 B$ b# Y2 z# C. \   
8 ~: |# ]4 ^+ c8 B' C% yelse* J! ?$ f9 x( S2 q( v; l* {
    ct2(i)=((1-s)*y2(i)-d1+(1-s)*y3/(1+r))/(1+beta);2 f1 N+ ~% i7 W7 t
    d2(i)=((1-s)*y3-beta*(1+r)*(1-s)*y2(i)+beta*(1+r)*d1)/(1+beta);
; Z1 l5 r. k  K; W/ @    ct3(i)=(1-s)*y3-d2(i);2 Y) k0 p  h: a9 h0 g0 _0 g! y
# K4 c5 L& _$ v0 P1 ?- Y7 U/ u

9 M, y" x5 Q" C# t    mu(i)=0;
9 x* y0 Z. T. P0 Cend& q4 n7 C: g& i. j; U0 }
e1(i)=wt/ct2(i);%每给定一个y2(i),计算得到一个e1(i),e2(i)4 o, [9 v9 x( v
e2(i)=wt/ct2(i)*y2(i)+mu(i)*phi*y2(i)+beta*wt/ct3(i)*y3;
! C2 w3 a- s) Y0 G2 D) i" _$ p7 k$ Z) W+ T% |

1 m/ V. L# m( c) U%%%求均值%%%
# j* C3 k0 M- J# |- r' I: Vexpect1=mean(e1(1,:));
  v6 F$ C# i, s& k! Z8 W( H+ eexpect2=mean(e2(1,:));
0 h# a% D1 ?$ {end
* H# i0 e, E( I& w. E
, U# X2 C' o# B$ C6 t
* w2 K7 Y5 y. |% w
%我的问题中,expect1,expect2实质上是s,d1的函数2 H- ^1 s& @9 ~5 O( v
%在用fsolve优化求解的时候,每迭代一个新的(s,d1),都应该运行一次上述for这个循环,得到新的expect1、expect2再进行优化求解,. s$ ]' V. l! [, C5 A  }" o
%也即(s,d1)变化时,expect1、expect2也要变化,如此fsolve的目标函数也变化% a8 U; T1 z2 W. H8 W
%这样一个问题没有编程思路,请求大家给予指导,如果我的问题没有表述清楚,十分欢迎追问,谢谢。. h) C6 f- k0 x; x9 [

/ ?3 z. n# o, S9 h2 |$ N  |$ k

0 m+ l+ o3 a" K[x,fval,exitflag,output,]=fsolve(@(x)foc(x,expect1,expect2),x0);
0 x4 l6 L7 j, m2 G/ o3 K  q" G2 t' F: g" M/ q5 o
4 W; L. q( z) d9 c# M% A  A
function f=foc(x,expect1,expect2)
! L, L, Y: f: U1 F1 k  ?/ uwn=0.3;7 ?# c! u7 p* x/ R7 B' |2 y
wt=1-wn;
* A, z' I* t# n, Sr=0.05;' O2 l) J" `8 b8 {! u, H( e  u
beta=1/(1+r);
9 l4 f% I% s! B6 Bepislon=0.05;( [: ?% c- F% `6 y' ^% P+ L
phi=0.3;) L* J2 u+ k* r4 p
y1=1;
# m# _- g& ^2 Lyn2=1;
7 `+ d0 M9 E$ M: i" x  x  p0 gy2mean=1;, p+ }$ g; K8 K; z. P, A
y3=1;4 h6 z3 W0 K, Q1 d0 \+ _; [
theta=0.9;
- U5 Q* M$ w+ n3 R. d! ss=0.01;: M1 B* k4 s- A# ?
d1=0.1;
+ r9 b: ]/ H' z. ~: }* L8 Lct1=s*(1-theta)*y1+d1/(1+r);% ct1也与s,d1相关;
+ K: Q& T' o1 e0 _: Y' ~, U2 m- |. {) ~, y8 @
" j" [8 V" t! O" ~' e7 C
f(1)=wt/ct1-beta*(1+r)*expect1;2 U6 v( ^/ F' a# S
f(2)=wt/ct1*y1*(1-theta)-beta*expect2;1 S9 a" ?( d" h! R( @1 a
end) ^9 @+ J" s& ?3 q
( ?; m0 e  m3 u* u9 s9 e

$ u4 {1 }6 [5 E+ H

该用户从未签到

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

该用户从未签到

3#
发表于 2021-1-11 17:43 | 只看该作者
5 D( t. M& H* ^4 k5 ]. K2 ~
你这个写的啥,你foc的函数的变量f1和f2里面x的变量呢,你这个方程写的有很大问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 16:18 , Processed in 0.187500 second(s), 27 queries , Gzip On.

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

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

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