资源简介
优化设计中复合形法C语言程序,多维优化,你值得拥有
代码片段和文件信息
#include
#include
#include
#define N 2 /*优化问题的维数N*/
#define K 4 /*复合形法顶点数K*/
#define N1 2 /*约束方程个数K*/
#define E 0.00000001 /*复合形法迭代精度*/
#define NM 500 /*寻找初始复合形的最大次数*/
int H=0L=0; /*H,L--复合形顶点坏点和好点顶点号*/
double f[K]; /*程序顶点值从f[0]开始*/
struct
{
double x1[N];
}Tpoint[K]xcxr; /*Tpoint存放K个点的坐标,xcxr分别为中心点和映射点坐标*/
/*目标函数子程序*/
double function(double x[])
{
double F;
F=x[0]*x[0]+x[1]*x[1]+4;
return(F);
}
/*约束条件子程序*/
int strain(double x[])
{
int ifin=1;
double g[N1];
g[0]=x[0];
g[1]=x[1];
for(i=0;i if(g[i]<0)
{
fin=0;
break;
}
return(fin);
}
/*初始可行点产生区间*/
void startab(double a[]double b[])
{
a[0]=0;b[0]=10.0;
a[1]=0;b[1]=10.0;
return;
}
/*初始复合形*/
int startfhx(double a[]double b[]int num)
{
int ii1iwkk=0;
int jj1mfh1=1;
double sum2[N];
double alfr;
srand( (unsigned)time( NULL ) ); /*srand()用来设置rand()产生随机数时的随机数种子*/
do /*产生第一个可行点*/
{
for(i=0;i {
r=rand()/32767.; /*直接调用函数产生随机数rand()可生成一个0到32767之间的随机数*/
Tpoint[0].x1[i]=a[i]+r*(b[i]-a[i]);
}
iw=strain(Tpoint[0].x1);
kk=kk+1;
if(kk>num)
{
fh1=2;
return(fh1);
}
}while(iw==0);
for(j=1;j {
for(i=0;i {
r=rand()/32767.; /*直接调用函数产生随机数*/
Tpoint[j].x1[i]=a[i]+r*(b[i]-a[i]);
}
iw=strain(Tpoint[j].x1);
if(iw==0)
{
m=j;
for(i1=0;i1 sum2[i1]=0.;
for(i1=0;i1 for(j1=0;j1 sum2[i1]+=Tpoint[j1].x1[i1];
for(j1=0;j1 xc.x1[j1]=sum2[j1]/m;
alf=0.5;
do /*求中心的映射点*/
{
for(i=0;i Tpoint[m].x1[i]=xc.x1[i]+alf*(Tpoint[m].x1[i]-xc.x1[i]);
iw=strain(Tpoint[m].x1);
}while(iw==0);
}
}
return(fh1);
}
void suan() /*找出好点和坏点*/
{
相关资源
- C++实现灰度图像的边缘检测、提取及
- 摄影测量直接线性变换DLTVC++程序代码
- 用VC++6.0开发监控界面的方法
- 用Visual C++仿真实现卡尔曼滤波
- 基于遗传算法的人工生命模拟 AL_GA.
- libstdc++.so.6.0.17
- c++写的操作系统课程设计:模拟文件
- gps-gsm的仿真程序 c语言
- C++编写的航空客运订票系统
- unix 下实现ftp部分功能lsgetput等等
- MFC 界面编程13个
- MFC入门教程:1天深入浅出MFC
- listing_4.1.cpp
- RS编解码的C语言实现
- 摄影测量空间后方交会程序合集,含
- 基于MFC的计算器(功能非常齐全:进
- vs2005工程转换成vc6.0工程的小工具(
- 数据结构课程设计《活期储蓄帐目管
- c语言端口扫描
- VegaPrime_MFC
- 门禁系统代码(C语言版).
- 实现最近点对问题源的代码(C语言)
- 矩形切割,用的是递归算法。
- 进程调度的设计与实现代码C++
- emgucv&opencv图像处理函数说明
- [纯C语言 + Win32 API]一步一步写个围棋
- window平台下c++ 对zip压缩解压缩工程源
- 编译原理正则表达式转NFA转DFA DFA最小
- 板材切割c源码
- MFC打开和保存图片
评论
共有 条评论