如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
目标规划与遗传算法一、多目标规划多目标规划是在一组刚性约束条件下,以多个柔性条件为目标函数的一种规划问题。为了能够同时达到多个目标的优化,往往是很难做到的。因为,目标函数是相互冲突的,一个目标的更优是要牺牲其他目标作为代价的。有效解(非劣解、Pareto解)在不牺牲其他目标函数的前提下,不能再改进任何一个目标函数值的可行解。求解方法;1、权重和方法:每个目标函数分配权重并将其组合成为一个目标函数权重的选择原则:使每个目标在加权后的地位相当。比如:一个目标表示利润,另一个目标表示效率,两者相差因此,权重应取相当数量级。2、妥协方法:是一种根据距离函数进行目标搜索行为的数学表达。设表示是第i个目标在不考虑其他目标时的最优值。例最小费用最大流网络最大流中不涉及费用问题,在实际问题中,在网络中的各边的运输费用是各不相同的,在满足最大流的情况下,求出最小费用,就是最小费用最大流问题。下图所示是最小费用最大流问题。每一条边上有两个数字,前者表示容量,后者表示单位费用。设是定义在网络图G的边集E上的一个实数函数,表示i->j运输量及最大量。设是定义在网络图G的边集E上的一个实数函数,表示i->j运输的运费。满足:(1)---每条边的流量不超过该边大弧容量。(3)---发点总流出与收点总流入平衡。-------由发点1到其它点的费用总和。N表示收点.二、目标规划数学模型:解释:系统约束,刚性条件续例最小费用最大流第一目标是费用S,理想值为180.越大越好.极大化(2)第二目标是流量,至少为5。越大流越大,极大化。(3)字典序的目标函数三、遗传算法遗传算法:染色体通常是一串数据(或数组),用来作为优化问题的解的代码,其本身不一定是解.1、随机产生一定数目的初始染色体,组成一个种群,种群中染色体的数目称为种群规模(pop_size);2、用评价函数(eval)来评价每一个染色体的优劣(即适应度);3、遗传选择操作,根据适应度,从当前种群中选出优良的染色体,成为新一代染色体;4、对这个新的种群进行交叉操作,然后进行变异操作。5、重复进行选择、交叉、变异,经过一定次数的迭代处理以后,把最好的染色体作为优化问题的最优解。例11、解的结构种群pop_size=30;变量个数N=3;染色体CHROMOSOME[pop_size+1][N+1];2、解的可行性staticvoidinitialization(void){doublex[N+1];/*Nisthenumberofvariables*/inti,j;for(i=1;i<=POP_SIZE;i++){mark:for(j=1;j<=N;j++)x[j]=myu(0,10);if(constraint_check(x)==0)gotomark;for(j=1;j<=N;j++)CHROMOSOME[i][j]=x[j];}}doublemyu(doublea,doubleb)/*Uniformdistribution*/{doubley;if(a>b){printf("\nThefirstparametershouldbelessthanthesecond!");exit(1);}y=(double)rand()/(RAND_MAX);return(a+(b-a)*y);}staticintconstraint_check(doublex[]){doublea;intn;for(n=1;n<=N;n++)if(x[n]<0)return0;a=x[1]*x[1]+x[2]*x[2]+x[3]*x[3];if(a>100)return0;return1;}3、评价函数B、权重和评价函数staticvoidobjective_function(void){doublex1,x2,x3;inti;for(i=1;i<=POP_SIZE;i++){x1=CHROMOSOME[i][1];x2=CHROMOSOME[i][2];x3=CHROMOSOME[i][3];OBJECTIVE[i][1]=3-sqrt(x1);if(OBJECTIVE[i][1]<0)OBJECTIVE[i][1]=0;OBJECTIVE[i][2]=4-sqrt(x1+2*x2);if(OBJECTIVE[i][2]<0)OBJECTIVE[i][2]=0;OBJECTIVE[i][3]=5-sqrt(x1+2*x2+3*x3);if(OBJECTIVE[i][3]<0)OBJECTIVE[i][3]=0;}for(