- 在线时间
- 1084 小时
- 最后登录
- 2015-9-10
- 注册时间
- 2014-4-18
- 听众数
- 162
- 收听数
- 1
- 能力
- 10 分
- 体力
- 43951 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 15242
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 3471
- 主题
- 2620
- 精华
- 1
- 分享
- 0
- 好友
- 513
升级 0% TA的每日心情 | 开心 2015-3-12 15:35 |
---|
签到天数: 207 天 [LV.7]常住居民III
群组: 第六届国赛赛前冲刺培 群组: 国赛讨论 群组: 2014美赛讨论 群组: 2014研究生数学建模竞 群组: 数学中国试看培训视频 |
!* 说明: 1.本程序为复合形法 *; W2 E! {0 y: Q4 ^
!* *
" e1 J0 d5 V- S4 K1 @9 S!* 2.程序功能是求解约束最优化问题 *
$ W2 U7 Q( O' }- L# L* U1 r!* max F(x1,x2,…,xn) *( p( X5 s$ E% [: m4 Q1 @6 A
!* s.t. Gi≤xi≤Hi *
" w; Z/ h- g B. ?" B" Y!* 其中 x1,x2,…,xn为独立自变量, *
$ U6 }2 a. E4 R% Y( a!* xn+1~xm为隐式变量,是x1,x2,…,xn的函数,Gi,Hi为下界和上界,它们可以是常数(显式约束),*1 r* Q7 X! ` x5 Y
!* 也可以是自变量的函数(隐式约束) *1 N. h1 l8 u5 n' s' t; x- C
!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果 *
- V; N/ P. M7 T1 n; u- F$ l!* *
% M) }6 S. d$ G. z!* 3.输入变量说明 *
6 ?0 V) v5 j) X9 [6 ]!* N--显式自变量数 *9 M1 j9 K# U* X0 Z% C. C; G
!* M--约束组数 *9 _9 b, R% k2 }" L
!* K--构成复合形的顶点数,常用N+1,可多取 *
9 V: e" Z6 M( ]/ a! v, z!* ITMAX--允许最多迭代次数 *
/ [. L3 Q6 e" {1 i!* IPRINT--打印控制参数,IPRINT=1,打印中间结果,IPRINT=0,不打印中间结果 ** E# ^& M- p' }4 h1 z! [
!* ALPHA--反射因子,常用1.3 *
7 W: g8 Q9 E6 |- m2 k' ~8 M. R!* BETA--收敛参数,例如函数的幅值乘1E-4 *
4 M3 x' O$ e+ K( {/ O' p( _: e!* GAMMA--收敛参数,整数,常用值为5 *1 |$ M) t2 g/ i) H3 `9 i. d3 U
!* DELTA--显式约束违反校正,小正数,如X向量幅值乘1E-4 *- b5 X8 u5 Q. y# D8 F/ \
!* X(1,J)--自变量初始可行点,=1,N *. n3 ?% y2 a) p: {% W
!* *
: U# V; D9 L. d K!* 4.输出变量说明 *' j+ m k( m0 p# }& t/ O
!* F--目标函数最大值勤 *
# |7 d! x, F6 a5 _: x" N!* X(I)--自变量最优值,I=1,N */ @" h5 q! g4 V) `
!* *. C% i& ?+ W! G: X! L( k% H4 D
!* 5.使用方法 *
5 _2 ]. X/ e" h* j* m; Y6 ^- r!* 1)用户按照待解问题修改主程序PARAMETER的N,M,K值 *" K1 M P1 V& Q
!* 2)在子程序FUNC中给定目标函数 *
% C2 V( C) x8 C/ M Q9 G5 n$ v0 H- M!* 3)在子程序CONST中给定Hi和Gi,显式约束必须放在隐式约束前面 *4 h E/ ^+ k e+ S
!* 4)编写一个数据文件COMPDAT,文件中的数据依次为下列变量的值,每个数之间用逗号分开 * & D9 T. O5 [" |; G% W" d
!* ITMAX,IPRINT,ALPHA,BETA,GAMMA,DELTA,X(1,1),X(1,2),…,X(1,N) *
8 _2 Z8 I1 Y* J; X!* 6.程序内容 *
* L* F) W( j4 V1 N!* 1)本程序由一个主程序和六个子程序组成,主程序首先给定N,M,K值,然后定义数组维数 *! z$ g7 p7 D1 b/ ?. _- O G: e
!* PARAMETER(N=,M=,K=) *
/ S- n0 ^; }" M!* DIMENSION X(K,M),R(K,N),F(K),G(M),H(M),XC(N) *
" ~' {/ M7 }5 _8 z!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果面 *2 r4 O7 q0 @ R" x, r G' }
!* 2)各子程序的作用分别为了 * " d- O+ x. ~# n ^. z2 [
!* CONSX—这是一个主要子程序,调用其它于程序及输出中间结果 *
; I6 I' R0 J$ |' Q9 k!* CHECK—检查所有的点是否满足约束条件,对违背约束的点进行校正 *
/ T2 a H. X8 R! j8 `; c!* CENTR—计算中心点 *, C) y1 y! R* a% [6 z
!* FUNC —目标函数,由用户提供 *" W( `6 Y) j+ |2 R6 m z1 p
!* CONST—规定显式和隐式约束 *
2 c4 I' E- }0 W: E, e* x0 O( x+ m!* RANDU—产生随机数 *
5 m% G ^; O$ w!*************************************************************************************************( ]7 ]4 ]( Y0 m) O. z7 n i# x
4 h! R- N0 {+ E
" I" B' \! r/ M$ N+ X
9 _3 w4 m6 }, b# e! p6 s# a2 _ |
zan
|