- 在线时间
- 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.本程序为复合形法 *) Z' ?7 a4 Z9 @4 ?1 L
!* *$ R2 ]/ d3 W. M
!* 2.程序功能是求解约束最优化问题 *
! A% C; Y# K& w% w!* max F(x1,x2,…,xn) *
) q# K! f3 [- K+ q& @* C4 T, d3 d!* s.t. Gi≤xi≤Hi *8 v5 n/ x+ Z4 F' b0 b' z1 O) Z
!* 其中 x1,x2,…,xn为独立自变量, *. e6 B4 D2 |9 w8 E
!* xn+1~xm为隐式变量,是x1,x2,…,xn的函数,Gi,Hi为下界和上界,它们可以是常数(显式约束),*# K8 M- t& H& m# G
!* 也可以是自变量的函数(隐式约束) *9 }- S* e$ s# ^* A$ U
!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果 *, Q, d9 P+ g$ S1 z. G% Q- _. {
!* *
9 z, g3 r- `- J!* 3.输入变量说明 */ r! ]+ G P! o+ N& `- x( \2 K
!* N--显式自变量数 *
: `6 k T' h% p. K* Q7 g- i!* M--约束组数 *
$ M. i) E/ U- G S. P, T!* K--构成复合形的顶点数,常用N+1,可多取 *) r) h# c2 G: @4 X
!* ITMAX--允许最多迭代次数 *6 _) l4 L" k0 K& l# i7 k2 g/ b k
!* IPRINT--打印控制参数,IPRINT=1,打印中间结果,IPRINT=0,不打印中间结果 *
! b3 {) b. ^" B z!* ALPHA--反射因子,常用1.3 *
* X1 x, m, g& A1 G, H+ d9 p!* BETA--收敛参数,例如函数的幅值乘1E-4 *
$ X- o; \3 z1 }! e. }3 i!* GAMMA--收敛参数,整数,常用值为5 *9 i# T7 `$ n6 w
!* DELTA--显式约束违反校正,小正数,如X向量幅值乘1E-4 *6 P, p" k6 j+ V
!* X(1,J)--自变量初始可行点,=1,N *0 o% N1 ~( { L6 ?- J. |
!* *
0 U: A0 D# ]" z7 E' i) |!* 4.输出变量说明 *- R- f/ j' d5 j4 V# f. F3 {
!* F--目标函数最大值勤 *
; a7 O! B6 D% t* k1 {!* X(I)--自变量最优值,I=1,N *
- v7 n% |9 ?3 x" i# U!* *
" S t3 [; t& j. L; h2 Z/ a2 H* }3 l!* 5.使用方法 *1 ?! y& y: W( l* ^" g
!* 1)用户按照待解问题修改主程序PARAMETER的N,M,K值 *2 i' i& w0 @% R# e( \/ \3 I' a
!* 2)在子程序FUNC中给定目标函数 *
/ T/ [! @7 V9 Y! U1 z# q5 G" ~/ _!* 3)在子程序CONST中给定Hi和Gi,显式约束必须放在隐式约束前面 *4 x" h% f& ~: g; z# K
!* 4)编写一个数据文件COMPDAT,文件中的数据依次为下列变量的值,每个数之间用逗号分开 * & B+ N8 Z$ A$ ~; y# z$ M
!* ITMAX,IPRINT,ALPHA,BETA,GAMMA,DELTA,X(1,1),X(1,2),…,X(1,N) *
) [% u9 z3 |- F# }!* 6.程序内容 *
- O# L9 I; F0 F8 C. l" v+ Y2 I!* 1)本程序由一个主程序和六个子程序组成,主程序首先给定N,M,K值,然后定义数组维数 *" V% z; u2 U- A1 q- Z% K
!* PARAMETER(N=,M=,K=) *6 i: O) L3 j, K" ?8 a8 [6 A# J' d
!* DIMENSION X(K,M),R(K,N),F(K),G(M),H(M),XC(N) *
$ r1 }3 i ~1 T c. G!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果面 *: Q7 V5 m( i/ p$ C% D d- R' |% Y
!* 2)各子程序的作用分别为了 * # Y- h$ X3 {& a3 K
!* CONSX—这是一个主要子程序,调用其它于程序及输出中间结果 *7 l- J$ v# C2 |. \/ A
!* CHECK—检查所有的点是否满足约束条件,对违背约束的点进行校正 *
) b- E9 Y% E! ?+ `!* CENTR—计算中心点 *
; U) p2 s9 T0 D* Y!* FUNC —目标函数,由用户提供 *
9 u* A( D3 _& [+ x+ R% T!* CONST—规定显式和隐式约束 *
; V! d9 f& K& Z7 e* z!* RANDU—产生随机数 */ I* N3 D8 h! ?% C, t" i
!*************************************************************************************************
1 r0 V' G$ i$ X' L/ `9 Z! Q9 }
. q* O! T( q3 @# h9 @1 N+ r- z
6 r: H9 P: L* T: q" m6 C8 ?- _2 C# j0 Z* k: R8 a( L
|
zan
|