- 在线时间
- 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.本程序为复合形法 *
) t( f* N( i8 @: X# c9 r8 [) _!* *
9 L) R. @8 H* }2 K6 W* m" K!* 2.程序功能是求解约束最优化问题 *
% d" e0 U T- g2 v- E. C!* max F(x1,x2,…,xn) *9 |, {$ m3 y/ t4 B% ]
!* s.t. Gi≤xi≤Hi *. c/ e1 W3 V, j: `% v( o; s
!* 其中 x1,x2,…,xn为独立自变量, *+ W8 O9 d$ Q- ]; b
!* xn+1~xm为隐式变量,是x1,x2,…,xn的函数,Gi,Hi为下界和上界,它们可以是常数(显式约束),*% e- ?& g ~# ]2 l8 t* w! X
!* 也可以是自变量的函数(隐式约束) *5 b; o6 e& M" [$ y
!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果 *
4 S/ A3 R( E: G! P) g- X!* *# i, E# z" \6 b7 X; `& p. c
!* 3.输入变量说明 *
, }4 I- U1 ^3 h. R# p l!* N--显式自变量数 *
: l) m/ g) ?# b# F/ j$ T!* M--约束组数 *
D$ j1 ]% b- L. j; ?!* K--构成复合形的顶点数,常用N+1,可多取 * `7 L* e6 X1 A& } H
!* ITMAX--允许最多迭代次数 *" K# Y6 I. ]/ i
!* IPRINT--打印控制参数,IPRINT=1,打印中间结果,IPRINT=0,不打印中间结果 *
& Q* |' }. Y- n0 d+ _' J: F1 P!* ALPHA--反射因子,常用1.3 *
3 C! J s8 G! F* m! O/ Z!* BETA--收敛参数,例如函数的幅值乘1E-4 *
( ^8 M7 J, H7 {+ a6 b& M8 `!* GAMMA--收敛参数,整数,常用值为5 *' q7 g5 A2 g, p9 `
!* DELTA--显式约束违反校正,小正数,如X向量幅值乘1E-4 *
* ^, N/ e2 `$ t0 f4 J. i0 P!* X(1,J)--自变量初始可行点,=1,N *$ m4 O( G0 h; d$ ~* q: J; R" K3 @
!* *6 m) |. V- T, S) L
!* 4.输出变量说明 *: w8 a9 j# m* C1 J) l8 M
!* F--目标函数最大值勤 *
. ?. u9 T2 ?# E6 f% Y!* X(I)--自变量最优值,I=1,N *
- \0 {) e. ~4 T {!* *
# M% H( n( S: h!* 5.使用方法 *
* M k- B9 R, j" J: w!* 1)用户按照待解问题修改主程序PARAMETER的N,M,K值 *9 t1 Q c! N8 Y& Q# E
!* 2)在子程序FUNC中给定目标函数 *
8 l8 ?4 L5 X) H) y% t* A7 b9 q!* 3)在子程序CONST中给定Hi和Gi,显式约束必须放在隐式约束前面 *' w$ |, H; b3 }4 V0 c8 |
!* 4)编写一个数据文件COMPDAT,文件中的数据依次为下列变量的值,每个数之间用逗号分开 * " ~+ v6 k) Z+ D1 H' S/ O- Y
!* ITMAX,IPRINT,ALPHA,BETA,GAMMA,DELTA,X(1,1),X(1,2),…,X(1,N) *% u8 g2 ^7 b/ h, ?
!* 6.程序内容 *
5 c- f3 a2 H7 h* j!* 1)本程序由一个主程序和六个子程序组成,主程序首先给定N,M,K值,然后定义数组维数 *9 N$ ?: S' Q! Q- O
!* PARAMETER(N=,M=,K=) *; y% {0 D3 R! a
!* DIMENSION X(K,M),R(K,N),F(K),G(M),H(M),XC(N) *
+ O3 H) f# n, K3 J, U!* 主程序中提供自变量的初始值,输入已知参数及打印最后结果面 *. d# N: ]6 J* j: t% Z; [
!* 2)各子程序的作用分别为了 *
1 a3 ^& r7 z, i4 B( d! y!* CONSX—这是一个主要子程序,调用其它于程序及输出中间结果 *+ v2 }. f _" s- j
!* CHECK—检查所有的点是否满足约束条件,对违背约束的点进行校正 *
7 W/ y% d" j3 b e9 B& X!* CENTR—计算中心点 */ w% P" E0 T! b( |( q2 M, H
!* FUNC —目标函数,由用户提供 *
, J7 J" T; O& D- A/ S; N!* CONST—规定显式和隐式约束 *+ l7 x' b( `0 s$ K
!* RANDU—产生随机数 *3 K6 W* ?4 O& E$ P
!*************************************************************************************************! [2 I8 p$ P1 e8 K
9 }% p, O- Y$ M7 A% ], m( J
7 G H( [" u. S$ b( z& v$ m# w4 i5 Z% D# C
|
zan
|