- 在线时间
- 1084 小时
- 最后登录
- 2015-9-10
- 注册时间
- 2014-4-18
- 听众数
- 162
- 收听数
- 1
- 能力
- 10 分
- 体力
- 43980 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 15251
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 3471
- 主题
- 2620
- 精华
- 1
- 分享
- 0
- 好友
- 513
升级   0% TA的每日心情 | 开心 2015-3-12 15:35 |
|---|
签到天数: 207 天 [LV.7]常住居民III
 群组: 第六届国赛赛前冲刺培 群组: 国赛讨论 群组: 2014美赛讨论 群组: 2014研究生数学建模竞 群组: 数学中国试看培训视频 |
!* 说明: 1.本程序为复合形法 *% B% R' E! T `$ O
!* *
6 W6 I6 D+ D$ i( t!* 2.程序功能是求解约束最优化问题 *
# ]: R" i4 h# M3 ~/ b!* max F(x1,x2,…,xn) *
. R: W; G# n+ I$ j9 a!* s.t. Gi≤xi≤Hi *
0 {1 z: F& x7 g- ?!* 其中 x1,x2,…,xn为独立自变量, *( v$ S8 d, H0 t" \! `$ {
!* xn+1~xm为隐式变量,是x1,x2,…,xn的函数,Gi,Hi为下界和上界,它们可以是常数(显式约束),*
- P1 f! B3 e2 _, g2 M!* 也可以是自变量的函数(隐式约束) *3 P' V( X* c. q @. c% m i
!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果 *
7 y* S+ y3 y3 y* `!* *6 Y: k0 } p% l6 ? T& h" R, l
!* 3.输入变量说明 *
- x+ j9 {4 j( q2 `5 G!* N--显式自变量数 *$ ~! E' W3 e& ]
!* M--约束组数 *+ @" C! Z; n6 K) P3 J: @4 G
!* K--构成复合形的顶点数,常用N+1,可多取 *4 @6 j+ Y! V: Y* ?7 |# X) b9 W1 H* w
!* ITMAX--允许最多迭代次数 *
# S5 j7 c3 k2 \0 k! U3 C. T2 v!* IPRINT--打印控制参数,IPRINT=1,打印中间结果,IPRINT=0,不打印中间结果 *
) O- p6 l, |) N: I2 N!* ALPHA--反射因子,常用1.3 *: ?% O& r& u* o
!* BETA--收敛参数,例如函数的幅值乘1E-4 *
' N6 I8 U5 E3 _# A1 q. R!* GAMMA--收敛参数,整数,常用值为5 *
9 J2 c8 A! o, m) R" E3 {$ Z!* DELTA--显式约束违反校正,小正数,如X向量幅值乘1E-4 *9 }. n9 ?& B: o/ k
!* X(1,J)--自变量初始可行点,=1,N *2 v, w! Q6 e$ v3 |6 c
!* *
6 n5 u: k5 A0 Z2 a+ g5 P!* 4.输出变量说明 *
1 F1 z3 |# m: I. w$ ]% u' ?+ b# s!* F--目标函数最大值勤 *
- K) U6 B' y- g0 U!* X(I)--自变量最优值,I=1,N ** d2 [: @) G! Q8 Z# f5 @2 U
!* *
/ s. T& C5 Q3 [( @5 ^!* 5.使用方法 *
/ b c0 ~+ F' U!* 1)用户按照待解问题修改主程序PARAMETER的N,M,K值 *
- ]1 |& B% [0 Q a!* 2)在子程序FUNC中给定目标函数 */ k1 `% t4 G* K2 k
!* 3)在子程序CONST中给定Hi和Gi,显式约束必须放在隐式约束前面 *, u% b- m9 k4 j5 q, [- R
!* 4)编写一个数据文件COMPDAT,文件中的数据依次为下列变量的值,每个数之间用逗号分开 * ) ^; p: ]0 R; W" y
!* ITMAX,IPRINT,ALPHA,BETA,GAMMA,DELTA,X(1,1),X(1,2),…,X(1,N) *
5 W) A D; ?8 P( B: ^# Z!* 6.程序内容 *
8 R8 ^6 x' K+ h0 J!* 1)本程序由一个主程序和六个子程序组成,主程序首先给定N,M,K值,然后定义数组维数 *5 L6 T( p6 H$ |2 k' c. L
!* PARAMETER(N=,M=,K=) *+ H8 ~# Y' F6 _
!* DIMENSION X(K,M),R(K,N),F(K),G(M),H(M),XC(N) *+ c' A& g7 [. q. u1 X9 g% O
!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果面 ** Q! ~) N: m5 U3 h. Y* I
!* 2)各子程序的作用分别为了 *
0 g" e: [- v4 b% C!* CONSX—这是一个主要子程序,调用其它于程序及输出中间结果 *
# _) g( `( T1 ~6 C N- v. O1 v!* CHECK—检查所有的点是否满足约束条件,对违背约束的点进行校正 */ Z7 h; i" u" H
!* CENTR—计算中心点 */ t7 }; a$ E! x6 M. k3 Q
!* FUNC —目标函数,由用户提供 *
7 w/ s( J$ O% q6 ~8 J!* CONST—规定显式和隐式约束 *
* |# o$ S3 ]! T7 w" |!* RANDU—产生随机数 *
: @% i( X" O/ m7 i!*************************************************************************************************$ Q/ V0 _* G: M4 A9 V! Q
* E$ d1 D! T1 N: X
% J- `6 ^2 E; v5 l$ F6 Z! p- w
9 ~& H/ t) Y- h+ O0 b |
zan
|