搜档网
当前位置:搜档网 › GA-遗传算法-C#代码【精品毕业设计】(完整版)

GA-遗传算法-C#代码【精品毕业设计】(完整版)

GA-遗传算法-C#代码【精品毕业设计】(完整版)
GA-遗传算法-C#代码【精品毕业设计】(完整版)

using System;

using System.IO;

using System.Collections;

using System.Collections.Generic;

using System.Text;

using https://www.sodocs.net/doc/b417901934.html,ponentModel;

using System.Data;

using System.Data.OleDb;

namespace ConsoleApplication1

{

public class Genetic_Algorithm

{

Random rand=new Random();

int MaxTime;//最大运行时间

int popsize;//种群数量

int ChromosomeLength;//染色体长度

double CrossRate;//交叉率

double MutateRate;//变异率

double[] f;//适应度值

int[] selected;//定义selected数组,用于表示需要进行交叉操作的染色体序号

double[] wheel;//轮盘

int[,] pregeneration;//上一代

int[,] nextgeneration;//下一代

int[] Best;//定义当前最优解

int convergence;//定义当前最优解的已持续代数

int[,] timeconstrait;

public Genetic_Algorithm(int populationsize, int chromolength)//GA--构造函数,变量初始化

{

rand = new Random(https://www.sodocs.net/doc/b417901934.html,lisecond);

MaxTime = 50;

popsize=populationsize;

ChromosomeLength = chromolength;

CrossRate = 0.8;

MutateRate = 0.2;

f = new double[2*popsize];

selected = new int[popsize];

wheel = new double[popsize + 1];

pregeneration = new int[popsize, ChromosomeLength];//当前的染色体种群

nextgeneration = new int[popsize, ChromosomeLength];//下一代(子代)染色体种群

Best = new int[ChromosomeLength];

convergence = 1;

timeconstrait = new int[20, 2] { { 2, 6 }, { 1, 2 }, { 3, 4 }, { 1, 4 }, { 4, 7 }, { 3, 5 }, { 2, 6 }, { 3, 5 }, { 1, 4 }, { 3, 7 }, { 5, 7 }, { 2, 7 }, { 2, 4 }, { 4, 5 }, { 2, 5 }, { 4, 6 }, { 3, 5 }, { 1, 4 }, { 1, 5 }, { 3, 6 } };

}

public void RunGA()//运行

{

int i;

CreateFirstPop();//产生初始种群

i = 0;

bool quit = true;

while (quit)

{

for (; i < MaxTime; i++)

{

Console.WriteLine("The {0}th Generation..........", i + 1);

CalFitness(ref pregeneration, popsize);//计算适应值

PrintResult();//输出每步的结果

WheelSelect();//此步确定了selected[i]的值

CreateNextGeneration();//产生子代,包括被选择为selected[i]的染色体的交叉,还有变异

ProduceNext();

}

Console.WriteLine("Press 'q' to quit, press Enter to continue.....");

if (Console.Read() == 'q')

{

quit = false;

}

else

{

MaxTime += 50;

}

}

}

void CreateFirstPop()//产生初始种群

{

Console.WriteLine("Creating first generation..........\n");

int i,j,r;

for(i=0;i

{

for(j=0;j

{

r=rand.Next(1,11);

pregeneration[i, j] = r;

}

}

}

void CreateNextGeneration()//产生下一代种群(经交叉、变异)

{

int i;

for (i = 0; i < popsize; i+=2)

{

Crossover(selected[i], selected[i + 1], i, i + 1);//将序号为selected[i]和selected[i + 1]的染色体进行交叉,产生的子代放在pregeneration中i和i+1的位置

}

Mutation(ref nextgeneration);//变异

}

void CalFitness(ref int[,] curgeneration,int number)//计算适应度值的函数

{

for (int i = 0; i < number; i++)

{

double fitness = 0;

for (int j = 0; j < ChromosomeLength; j++)

{

fitness += Math.Abs(curgeneration[i, j]-j-1);

}

f[i] = fitness;

}

}

void FindMax(ref double[] f, out int max)//寻找数组中最大值

{

int i;

max = 0;

for (i = 1; i < popsize; i++)

{

if (f[i] > f[max])

{

max = i;

}

}

}

void FindMin(ref double[] f, out int min)//寻找数组中最小值

{

int i;

min = 0;

for (i = 1; i < popsize; i++)

{

if (f[i] < f[min])

{

min = i;

}

}

}

void WheelSelect() //轮盘选择popsize个染色体(可重复),并将序号放入selected[]中,作为交叉的染色体

{

int i,j ,r;

double sum;

wheel[0] = 0; sum = 0;

for (i = 0; i < popsize; i++)

{

sum += f[i];

wheel[i + 1] = wheel[i] + f[i];

}

for (i = 0; i < popsize; i++)

{

r = rand.Next((int)sum);

for (j = 0; j < popsize; j++)

{

if (r > wheel[j] && r < wheel[j + 1])

{

遗传算法的c语言程序

一需求分析 1.本程序演示的是用简单遗传算法随机一个种群,然后根据所给的交叉率,变异率,世代数计算最大适应度所在的代数 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的命令;相应的输入数据和运算结果显示在其后。3.测试数据 输入初始变量后用y=100*(x1*x1-x2)*(x1*x2-x2)+(1-x1)*(1-x1)其中-2.048<=x1,x2<=2.048作适应度函数求最大适应度即为函数的最大值 二概要设计 1.程序流程图 2.类型定义 int popsize; //种群大小 int maxgeneration; //最大世代数 double pc; //交叉率 double pm; //变异率 struct individual

{ char chrom[chromlength+1]; double value; double fitness; //适应度 }; int generation; //世代数 int best_index; int worst_index; struct individual bestindividual; //最佳个体 struct individual worstindividual; //最差个体 struct individual currentbest; struct individual population[POPSIZE]; 3.函数声明 void generateinitialpopulation(); void generatenextpopulation(); void evaluatepopulation(); long decodechromosome(char *,int,int); void calculateobjectvalue(); void calculatefitnessvalue(); void findbestandworstindividual(); void performevolution(); void selectoperator(); void crossoveroperator(); void mutationoperator(); void input(); void outputtextreport(); 4.程序的各函数的简单算法说明如下: (1).void generateinitialpopulation ()和void input ()初始化种群和遗传算法参数。 input() 函数输入种群大小,染色体长度,最大世代数,交叉率,变异率等参数。 (2)void calculateobjectvalue();计算适应度函数值。 根据给定的变量用适应度函数计算然后返回适度值。 (3)选择函数selectoperator() 在函数selectoperator()中首先用rand ()函数产生0~1间的选择算子,当适度累计值不为零时,比较各个体所占总的适应度百分比的累计和与选择算子,直到达到选择算子的值那个个体就被选出,即适应度为fi的个体以fi/∑fk的概率继续存在; 显然,个体适应度愈高,被选中的概率愈大。但是,适应度小的个体也有可能被选中,以便增加下一代群体的多样性。 (4)染色体交叉函数crossoveroperator() 这是遗传算法中的最重要的函数之一,它是对个体两个变量所合成的染色体进行交叉,而不是变量染色体的交叉,这要搞清楚。首先用rand ()函数产生随机概率,若小于交叉概率,则进行染色体交叉,同时交叉次数加1。这时又要用rand()函数随机产生一位交叉位,把染色

IT项目管理系统的设计与实现_研究生论文

摘要 IT项目管理系统的设计与实现 摘要 随着信息需求的不断增长,IT项目的规模越来越庞大,IT项目的功能越来越复杂,信息化的风险也越来越高,金融机构对IT的依赖也越来越重……传统的信息交流方式早已不能满足企业对传递和处理大量信息的需要,信息化的发展过程中已经越来越凸显项目管理在项目实施中的重要性。因此,一套融合国际先进理念、契合企业管理办法的项目管理系统便被提上了企业的信息化建设日程。 本文描述了基于B/S架构的IT项目管理系统的设计与实现的过程,系统的开发采用了业内成熟稳定的J2EE SSH技术架构,设计并实现了企业内部项目的项目立项、人员配备、项目周报、会议纪要、问题管理、项目评审、需求变更、项目调整、项目结项等IT项目建设中的核心管理内容。该项目在开发过程中也严格依据项目管理的要求,从可行性分析到项目需求、设计、编码、测试,历经半年时间,在三名工程师的努力付出下,最终已在企业内部正式投入使用,系统的投产,大幅提升了企业管理层对项目协调的能力,大幅加强了项目经理日常管理的力度,大幅提升了企业项目管理水平的综合实力。该项目的投产,为项目实施的进度管理、质量保障、成本控制提供了有效的信息化的支撑平台。 本次论文重点以项目成本管理为例,通过项目立项及项目周报模块的实现,详细介绍了挣值管理理论在实践中的指导作用。通过项目经理提交项目周报,部门经理对周报实施审批后,系统将自动实现对项目成本偏差及项目进度偏差等挣值管理的相关信息进行实时的采集,该信息为企业领导层掌握项目实施状况提供了成本管理的数据模型,为未来项目管理系统向商业智能分析发展提供了有效的数据支持。 论文最后也讨论了本项目管理系统有待完善的环节和进一步研究的方向,为后续系统的升级改善提供了理论依据。 关键词:IT项目管理,信息化,J2EE,B/S

MATLAB课程遗传算法实验报告及源代码

硕士生考查课程考试试卷 考试科目: 考生姓名:考生学号: 学院:专业: 考生成绩: 任课老师(签名) 考试日期:年月日午时至时

《MATLAB 教程》试题: A 、利用MATLA B 设计遗传算法程序,寻找下图11个端点最短路径,其中没有连接端点表示没有路径。要求设计遗传算法对该问题求解。 a e h k B 、设计遗传算法求解f (x)极小值,具体表达式如下: 321231(,,)5.12 5.12,1,2,3i i i f x x x x x i =?=???-≤≤=? ∑ 要求必须使用m 函数方式设计程序。 C 、利用MATLAB 编程实现:三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行,随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货,但是如何乘船渡河的大权掌握在商人手中,商人们怎样才能安全渡河? D 、结合自己的研究方向选择合适的问题,利用MATLAB 进行实验。 以上四题任选一题进行实验,并写出实验报告。

选择题目: B 、设计遗传算法求解f (x)极小值,具体表达式如下: 321231(,,)5.12 5.12,1,2,3i i i f x x x x x i =?=???-≤≤=? ∑ 要求必须使用m 函数方式设计程序。 一、问题分析(10分) 这是一个简单的三元函数求最小值的函数优化问题,可以利用遗传算法来指导性搜索最小值。实验要求必须以matlab 为工具,利用遗传算法对问题进行求解。 在本实验中,要求我们用M 函数自行设计遗传算法,通过遗传算法基本原理,选择、交叉、变异等操作进行指导性邻域搜索,得到最优解。 二、实验原理与数学模型(20分) (1)试验原理: 用遗传算法求解函数优化问题,遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局优化概率搜索方法。其采纳了自然进化模型,从代表问题可能潜在解集的一个种群开始,种群由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体;初始种群产生后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的解:在每一代,概据问题域中个体的适应度大小挑选个体;并借助遗传算子进行组合交叉和主客观变异,产生出代表新的解集的种群。这一过程循环执行,直到满足优化准则为止。最后,末代个体经解码,生成近似最优解。基于种群进化机制的遗传算法如同自然界进化一样,后生代种群比前生代更加适应于环境,通过逐代进化,逼近最优解。 遗传算法是一种现代智能算法,实际上它的功能十分强大,能够用于求解一些难以用常规数学手段进行求解的问题,尤其适用于求解多目标、多约束,且目标函数形式非常复杂的优化问题。但是遗传算法也有一些缺点,最为关键的一点,即没有任何理论能够证明遗传算法一定能够找到最优解,算法主要是根据概率论的思想来寻找最优解。因此,遗传算法所得到的解只是一个近似解,而不一定是最优解。 (2)数学模型 对于求解该问题遗传算法的构造过程: (1)确定决策变量和约束条件;

VC++管理系统项目设计与实现

VC++制作一个人事管理系统——教职工管理系统 关键词:VC++应用程序向导增加对话框资源 ADODC控件 DataGrid控件对话框切换2.1系统设计的目的和意义 人事管理系统是公司或学校或其他的事业单位用来统一管理人员的软件,下面我就一学校的教职工管理系统为例。 学校职工查询是学校管理中需要经常处理的一项工作,我的毕业设计结合一个简化的学校教职工管理系统的制作,介绍如何利用VC++的应用程序向导制作应用程序。该系统的制作涉及一个数据库、两个数据表及其相关的对话框的制作开发,涉及在工程中增加对话框、调用对话框的方法以及应用程序向导的使用方法。最重要的是,在我的毕业设计中,我将介绍一种新的数据源引用方法,即使用ADODC控件引用数据源并制作应用系统的方法。我的毕业设计程序是简单的,但方法是重要的。 2.2系统功能设计 本系统具有—般系统的数据处理功能,如数据录入、增加、修改、删除等。 2.3数据库与数据表的设计 本系统将首先创建一个职工信息数据库,并在它之中创建两个数据表,一个是“职工信息数据表”,—个是“职工工资信息表”。在我的毕业设计当中,我仅用Microsoft Access 2003创建教职工管理数据库及其数据表。 2.3.1利用Microsoft Access 2003创建教职工管理数据库及其数据表 微软公司的许多产品所支持的数据库结构与数据库驱动器类型均是通用的,因此,用户往往可以借助于相关的工具创建数据库与数据表,这里我介绍采用Microsoft Access 2003创建数据库及其数据表的方法。先定义职工信息数据表的结构,如表2.1所示,它专门用于记录教职工的基本情况。 表2.1职工信息数据表的结构 职工工资情况表的结构定义如表2.2所示,注意,这是一个简化了的职工工资数据表,因为工资表往往比较复杂,而且不同的单位工资表结构也有所不同.我不可能定义一个“万能”的工资表结构,只能创建一个具有示范意义的工资数据表结构。

一种基于遗传算法的Kmeans聚类算法

一种基于遗传算法的K-means聚类算法 一种基于遗传算法的K-means聚类算法 摘要:传统K-means算法对初始聚类中心的选取和样本的输入顺序非常敏感,容易陷入局部最优。针对上述问题,提出了一种基于遗传算法的K-means聚类算法GKA,将K-means算法的局部寻优能力与遗传算法的全局寻优能力相结合,通过多次选择、交叉、变异的遗传操作,最终得到最优的聚类数和初始质心集,克服了传统K-means 算法的局部性和对初始聚类中心的敏感性。关键词:遗传算法;K-means;聚类 聚类分析是一个无监督的学习过程,是指按照事物的某些属性将其聚集成类,使得簇间相似性尽量小,簇内相似性尽量大,实现对数据的分类[1]。聚类分析是数据挖掘 技术的重要组成部分,它既可以作为独立的数据挖掘工具来获取数据库中数据的分布情况,也可以作为其他数据挖掘算法的预处理步骤。聚类分析已成为数据挖掘主要的研究领域,目前已被广泛应用于模式识别、图像处理、数据分析和客户关系管理等领域中。K-means算法是聚类分析中一种基本的划分方法,因其算法简单、理论可靠、收敛速 度快、能有效处理较大数据而被广泛应用,但传统的K-means算法对初始聚类中心敏 感,容易受初始选定的聚类中心的影响而过早地收敛于局部最优解,因此亟需一种能克服上述缺点的全局优化算法。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化搜索算法。在进化过程中进行的遗传操作包括编码、选择、交叉、变异和适者生存选择。它以适应度函数为依据,通过对种群个体不断进行遗传操作实现种群个体一代代地优化并逐渐逼近最优解。鉴于遗传算法的全局优化性,本文针 对应用最为广泛的K-means方法的缺点,提出了一种基于遗传算法的K-means聚类算法GKA(Genetic K-means Algorithm),以克服传统K-means算法的局部性和对初始聚类中心的敏感性。用遗传算法求解聚类问题,首先要解决三个问题:(1)如何将聚类问题的解编码到个体中;(2)如何构造适应度函数来度量每个个体对聚 类问题的适应程度,即如果某个个体的编码代表良好的聚类结果,则其适应度就高;反之,其适应度就低。适应度函数类似于有机体进化过程中环境的作用,适应度高的个体 在一代又一代的繁殖过程中产生出较多的后代,而适应度低的个体则逐渐消亡;(3) 如何选择各个遗传操作以及如何确定各控制参数的取值。解决了这些问题就可以利

基于遗传算法的matlab源代码

function youhuafun D=code; N=50;%Tunable maxgen=50;%Tunable crossrate=0.5;%Tunable muterate=0.08;%Tunable generation=1; num=length(D); fatherrand=randint(num,N,3); score=zeros(maxgen,N); while generation<=maxgen ind=randperm(N-2)+2;%随机配对交叉 A=fatherrand(:,ind(1:(N-2)/2)); B=fatherrand(:,ind((N-2)/2+1:end)); %多点交叉 rnd=rand(num,(N-2)/2); ind=rnd tmp=A(ind); A(ind)=B(ind); B(ind)=tmp; %%两点交叉 %for kk=1:(N-2)/2 %rndtmp=randint(1,1,num)+1; %tmp=A(1:rndtmp,kk); %A(1:rndtmp,kk)=B(1:rndtmp,kk); %B(1:rndtmp,kk)=tmp; %end fatherrand=[fatherrand(:,1:2),A,B]; %变异 rnd=rand(num,N); ind=rnd[m,n]=size(ind); tmp=randint(m,n,2)+1; tmp(:,1:2)=0; fatherrand=tmp+fatherrand; fatherrand=mod(fatherrand,3); %fatherrand(ind)=tmp; %评价、选择 scoreN=scorefun(fatherrand,D);%求得N个个体的评价函数 score(generation,:)=scoreN; [scoreSort,scoreind]=sort(scoreN); sumscore=cumsum(scoreSort); sumscore=sumscore./sumscore(end); childind(1:2)=scoreind(end-1:end); for k=3:N tmprnd=rand; tmpind=tmprnd difind=[0,diff(t mpind)]; if~any(difind) difind(1)=1; end childind(k)=scoreind(logical(difind)); end fatherrand=fatherrand(:,childind); generation=generation+1; end %score maxV=max(score,[],2); minV=11*300-maxV; plot(minV,'*');title('各代的目标函数值'); F4=D(:,4); FF4=F4-fatherrand(:,1); FF4=max(FF4,1); D(:,5)=FF4; save DData D function D=code load youhua.mat %properties F2and F3 F1=A(:,1); F2=A(:,2); F3=A(:,3); if(max(F2)>1450)||(min(F2)<=900) error('DATA property F2exceed it''s range (900,1450]') end %get group property F1of data,according to F2value F4=zeros(size(F1)); for ite=11:-1:1 index=find(F2<=900+ite*50); F4(index)=ite; end D=[F1,F2,F3,F4]; function ScoreN=scorefun(fatherrand,D) F3=D(:,3); F4=D(:,4); N=size(fatherrand,2); FF4=F4*ones(1,N); FF4rnd=FF4-fatherrand; FF4rnd=max(FF4rnd,1); ScoreN=ones(1,N)*300*11; %这里有待优化

部门项目管理系统的设计与实现毕业设计

部门项目管理系统的设计与实现毕业设计 目录 1 绪论 (1) 1.1系统开发的背景及目的 (1) 1.1.1系统开发背景 (1) 1.1.2系统研究的意义 (1) 1.2系统的实用价值 (2) 1.3部门项目管理的现状及发展趋势 (3) 1.4本文的章节安排 (3) 2 系统开发环境 (4) 2.1系统平台体系结构选择 (4) 2.2系统开发环境 (5) 2.2.1前台开发环境 (5) 2.2.2系统后台数据库环境 (5) 2.3J2EE平台概述 (6) 2.3.1J2EE规 (6) 2.3.2J2EE体系结构 (6) 2.4SSI框架介绍 (8) 3系统分析 (12) 3.1可行性分析 (12) 3.1.1可行性研究 (12) 3.1.2经济可行性分析 (12) 3.1.3技术可行性分析 (12) 3.1.4社会可行性分析 (12) 3.1.5操作可行性分析 (13) 3.2需求分析 (13) 3.2.1 项目目标 (13) 3.2.2 用户需求和模块功能 (13) 4系统概要设计 (15) 4.1系统总体设计 (15) 4.1.1系统设计目标 (15) 4.1.2系统功能模块图 (15) 4.2E-R图 (15)

4.3数据库概要设计 (17) 5详细设计 (20) 5.1系统登录模块说明 (20) 5.1.1功能简介及其页面的实现 (20) 5.2员工管理模块说明 (22) 5.2.1功能简介及其页面的实现 (22) 5.3项目管理模块说明 (24) 5.3.1功能简介及其页面的实现 (24) 5.4部门管理模块说明 (27) 5.4.1功能简介及其页面实现 (27) 5.5产品管理模块说明 (29) 5.5.1功能简介及其页面的实现 (29) 5.5.2添加产品: (29) 6 系统测试 (31) 6.1测试平台 (31) 6.2测试方法 (31) 6.2.1 白盒测试法 (31) 6.2.2 黑盒测试法 (32) 结论 (33) 致谢 (34) 参考文献 (35) 附录 (36) 附录A (36) 附录B (40)

一个简单实用的遗传算法c程序完整版

一个简单实用的遗传算 法c程序 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

一个简单实用的遗传算法c程序(转载) 2009-07-28 23:09:03 阅读418 评论0 字号:大中小 这是一个非常简单的遗传算法源代码,是由Denis Cormier (North Carolina State University)开发的,Sita (University of North Carolina at Charlotte)修正。代码保证尽可能少,实际上也不必查错。对一特定的应用修正此代码,用户只需改变常数的定义并且定义“评价函数”即可。注意代码的设计是求最大值,其中的目标函数只能取正值;且函数值和个体的适应值之间没有区别。该系统使用比率选择、精华模型、单点杂交和均匀变异。如果用Gaussian变异替换均匀变异,可能得到更好的效果。代码没有任何图形,甚至也没有屏幕输出,主要是保证在平台之间的高可移植性。读者可以从,目录 coe/evol中的文件中获得。要求输入的文件应该命名为‘’;系统产生的输出文件为‘’。输入的文件由几行组成:数目对应于变量数。且每一行提供次序——对应于变量的上下界。如第一行为第一个变量提供上下界,第二行为第二个变量提供上下界,等等。 /**************************************************************************/ /* This is a simple genetic algorithm implementation where the */ /* evaluation function takes positive values only and the */ /* fitness of an individual is the same as the value of the */ /* objective function */ /**************************************************************************/ #include <> #include <> #include <> /* Change any of these parameters to match your needs */ #define POPSIZE 50 /* population size */

项目管理系统毕业设计任务书

毕业设计(论文)任务书 题目:基于.NET的项目管理系统的设计与实现 专业:计算机科学与技术指导教师: 学院:信息学号: 2008080305325 班级: 200808030501A 姓名: 一、主要内容和基本要求 该毕业设计题为《基于.NET的项目管理系统的设计与实现》,主要运用C#语言进行开发,数据库采用MSSQL Server 05,将运行于安装有.NET Framewrok3.5以上的Windows系统平台上。该设计的主要内容包括: ①资源管理:主要为人员管理,包括人员基本的增删改查,角色分配等。 ②交付管理:项目经理录入、维护项目基本信息(包括一般信息、客户信息、分包商信息、财政信息、申请人员信息、项目经理等)、费用预算,建立项目里程碑,制定项目计划,管理项目风险;系统每周一凌晨计算分析上周人员、项目的收支情况以及费用管理员导入的其他ERP系统导出的报销费用明细;相关人员可以查询上述基本信息和统计分析图表(下钻)展示。 ③TIMESHEET管理:项目经理填写和提交项目组成员工时,以记录、查询出勤情况,同时也为项目实际开支计算提供基础数据。 ④系统管理:主要为用户管理。给用户分配角色和机构权限。 二、主要参考资料 [1]刘智勇,王文强.JavaScript从入门到精通[M].北京:化学工业出版社,2009:261-269. [2]奚江华https://www.sodocs.net/doc/b417901934.html,3.5开发详解Ⅱ——新功能篇[M].北京:电子工业出版社,2008:174-176. [3]w3school. 领先的Web技术教程.[EB/OL].[2011]. https://www.sodocs.net/doc/b417901934.html,/. [4]李力.企业项目管理系统的设计与实现[D].南开大学,2009. [5]应尚军,王炎.项目管理的研究现状与研究前景[J].科技进步与对策,2005,22(11):131-133. [6]袁经勇.国内外项目管理现状及发展趋势[J].化工建设工程,2001,23(3):8-9,12. [7]北京维普时代软件有限公司.成功案例.[OL] https://www.sodocs.net/doc/b417901934.html,/index.asp [8]金平.企业项目管理系统的分析与设计[J].中国制造业信息化,2009,38(9):10-12.

IT项目管理系统的设计与实现研究生论文

. word版本. 摘要 随着信息需求的不断增长,IT项目的规模越来越庞大,IT项目的功能越来越复杂,信息化的风险也越来越高,金融机构对IT的依赖也越来越重……传统的信息交流方式早已不能满足企业对传递和处理大量信息的需要,信息化的发展过程中已经越来越凸显项目管理在项目实施中的重要性。因此,一套融合国际先进理念、契合企业管理办法的项目管理系统便被提上了企业的信息化建设日程。 本文描述了基于B/S架构的IT项目管理系统的设计与实现的过程,系统的开发采用了业成熟稳定的J2EE SSH技术架构,设计并实现了企业部项目的项目立项、人员配备、项目周报、会议纪要、问题管理、项目评审、需求变更、项目调整、项目结项等IT项目建设中的核心管理容。该项目在开发过程中也严格依据项目管理的要求,从可行性分析到项目需求、设计、编码、测试,历经半年时间,在三名工程师的努力付出下,最终已在企业部正式投入使用,系统的投产,大幅提升了企业管理层对项目协调的能力,大幅加强了项目经理日常管理的力度,大幅提升了企业项目管理水平的综合实力。该项目的投产,为项目实施的进度管理、质量保障、成本控制提供了有效的信息化的支撑平台。 本次论文重点以项目成本管理为例,通过项目立项及项目周报模块的实现,详细介绍了挣值管理理论在实践中的指导作用。通过项目经理提交项目周报,部门经理对周报实施审批后,系统将自动实现对项目成本偏差及项目进度偏差等挣值管理的相关信息进行实时的采集,该信息为企业领导层掌握项目实施状况提供了成本管理的数据模型,为未来项目管理系统向商业智能分析发展提供了有效的数据支持。 论文最后也讨论了本项目管理系统有待完善的环节和进一步研究的方向,为后续系统的升级改善提供了理论依据。 关键词:IT项目管理,信息化,J2EE,B/S

遗传算法C语言源代码(一元函数和二元函数)

C语言遗传算法代码 以下为遗传算法的源代码,计算一元代函数的代码和二元函数的代码以+++++++++++++++++++++++++++++++++++++为分割线分割开来,请自行选择适合的代码,使用时请略看完代码的注释,在需要更改的地方更改为自己需要的代码。 +++++++++++++++++++++++++++++++一元函数代码++++++++++++++++++++++++++++ #include #include #include #include #define POPSIZE 1000 #define maximization 1 #define minimization 2 #define cmax 100 #define cmin 0 #define length1 20 #define chromlength length1 //染色体长度 //注意,你是求最大值还是求最小值 int functionmode=minimization; //变量的上下限的修改开始 float min_x1=-2;//变量的下界 float max_x1=-1;//变量的上界 //变量的上下限的修改结束 int popsize; //种群大小 int maxgeneration; //最大世代数 double pc; //交叉率 double pm; //变异率 struct individual { char chrom[chromlength+1]; double value; double fitness; //适应度 }; int generation; //世代数 int best_index; int worst_index;

项目管理系统设计毕业论文

项目管理系统设计毕业论文 目录 第1章绪论 (1) 1.1 研究背景 (1) 1.2 研究意义 (1) 1.3 研究内容 (2) 1.4 论文组织 (2) 第2章相关技术论述 (4) 2.1信息管理技术发展历程 (4) 2.2 .NET开发框架 (4) 2.3 Visual Studio .NET2010开发工具 (5) 2.4 SQL Server 2008数据库 (5) 2.5 B/S架构体系 (5) 第3章项目管理系统设计 (6) 3.1 功能设计 (6) 3.2 概要设计 (7) 3.3 详细设计 (9) 3.3.1.1 用户界面逻辑设计 (9) 3.3.1.2 数据流程设计 (9) 3.4 数据库的设计 (15) 3.4.1 employee (15) 3.4.2 employee group (15) 3.4.3 employeedetail (15) 3.4.4 group (16) 3.4.5 Project (16) 3.4.6 weekly (17) 结论 (18) 参考文献 (19) 谢辞 (20) I

附录一部分关键源码及解释 (21) II

项目管理系统设计 第1章绪论 1.1 研究背景 项目管理系统的应用在三十年前仅限于建筑、国防、航天等行业,三十年科技的迅速发展,项目管理系统应用到今天的计算机、电子通讯、金融业甚至政府机关等众多领域。目前在我国国内,对项目管理的认识正逐渐深入,但要求项目管理人员拥有相应资格认证的还主要为大的跨国公司、IT公司等与国际接轨的企业。为完成某个的产品或服务所做的一次性任务称为项目。项目管理是面向任务成果、基于团队工作、借助外部资源提供跨职能部门的解决方案,它能有效降低成本扩大利润,同时它又是灵活的。项目管理者的职责就是根据特定的规范、在预算范围内、按时完成任务。 从项目中获得最大的利润可以提高在市场中的竞争优势。待开发产品部件的采购形式是为了最大化社会资源,以此来获得更大的利润空间。一个项目系统能成功开放主要依赖高速的网络信息管理。如何更有效的管理项目建设是我们一直在探索的,主要可以从成员专业性和管理水平入手。一个有纪律有规则的组织在管理水平上会比无纪律无规则的组织高效许多。项目经理负责制是一个有纪律有组织的制度是现在很多企业所推行的。主要是因为现在开放项目涉及不同的专业,应用领域广泛,大部分都以管理为中心,所以项目经理负责制是必然趋势。项目经理已经认识到根据企业自身项目特点来完成相应要求的管理系统才能满足现在高速的信息化时代。国外软件公司相对成熟,是我们可以借鉴的好对象。 随着互联网的迅速发展,项目管理信息化日益扩大。基于.net的项目管理系统为了简单有效的对项目进行管理。通过构建项目管理系统是为了保障项目的顺利完成,并提高项目的整体运作效率。Web以信息发布平台的身份出现在Internet的发展史是一个重要的里程碑,为Internet成为当前信息技术的核心奠定了坚实的基础。现在,人们现在对网上信息的了解关注使用一般是通过浏览器浏览,所以将Web打造得更理想更人性化是当今研究的热点之一。 1.2 研究意义 现在是科学技术时代,最重要的就是信息的传递和收集,如何更快更准确的传递收集信息是社会的主要趋势。组织的工作必须项目化才能满足如今企业和组织的工作与任务需要及时更新、传递,总结进度制定计划更新、任务改变等,项目管理成为组织普遍采用的工作管理方式。一个组织通常要同时实施一定数量不同的项目,在同一时期内完成的项目数量越多,项目管理越复杂。在多个项目同时实施的情况下,这些项目在资金、时间、人 1

遗传算法的C语言程序案例

遗传算法的C语言程序案例 一、说明 1.本程序演示的是用简单遗传算法随机一个种群,然后根据所给的交叉率,变异率,世代数计算最大适应度所在的代数 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的命令;相应的输入数据和运算结果显示在其后。3.举个例子,输入初始变量后,用y= (x1*x1)+(x2*x2),其中-2.048<=x1,x2<=2.048作适应度函数求最大适应度即为函数的最大值 4.程序流程图

5.类型定义 int popsize; //种群大小 int maxgeneration; //最大世代数 double pc; //交叉率 double pm; //变异率 struct individual { char chrom[chromlength+1]; double value; double fitness; //适应度 }; int generation; //世代数 int best_index; int worst_index; struct individual bestindividual; //最佳个体 struct individual worstindividual; //最差个体 struct individual currentbest; struct individual population[POPSIZE]; 3.函数声明 void generateinitialpopulation(); void generatenextpopulation(); void evaluatepopulation(); long decodechromosome(char *,int,int); void calculateobjectvalue(); void calculatefitnessvalue(); void findbestandworstindividual(); void performevolution(); void selectoperator(); void crossoveroperator(); void mutationoperator(); void input(); void outputtextreport(); 6.程序的各函数的简单算法说明如下: (1).void generateinitialpopulation ()和void input ()初始化种群和遗传算法参数。 input() 函数输入种群大小,染色体长度,最大世代数,交叉率,变异率等参数。 (2)void calculateobjectvalue();计算适应度函数值。 根据给定的变量用适应度函数计算然后返回适度值。 (3)选择函数selectoperator() 在函数selectoperator()中首先用rand ()函数产生0~1间的选择算子,当适度累计值不为零时,比较各个体所占总的适应度百分比的累计和与选择算子,直到达到选择算子的值那个个

软件开发与项目管理毕业设计中期报告【精品范文】

软件开发与项目管理毕业设计中期报告 软件开发与项目管理毕业设计中期报告 毕业设计题目:基于web的超市管理系统 专业:软件开发与项目管理 本人自毕业设计开始以来所做的具体工作和取得的进展或成果以及存在的具体问题 一、前期完成的任务 需求分析文档: 对超市管理系统的需求做了比较详细的分析,把超市管理系统整体分成几个模块,整体分为系统主窗体、商品信息管理、销售管理、库存管理、员工管理、供货商管理、系统管理模块,方便后面的编程。同时整个程序按照MVC三层模式编写,一遍程序的后期维护; 所遇到的问题:对超市管理系统的业务流程不熟悉,对相关知识比较欠缺。 解决方法:在网上搜索相关信息,以及小组成员相互讨论。 数据库设计文档: 根据数据库设计文档设计数据库中需要的表以及表中的字段,数据库用的是Oracle数据库。主要完成的设计任务有概念结构设计,逻辑结构设计,物理结构设计,数

据字典设计,安全保密设计,主要包括用户表、资源表等数据表格。 所遇到的问题:对Oracle数据库使用不熟,数据库存储过程的具体使用不熟。 解决办法:阅读数据库帮助文档及上网查询,以及向老师请教。 测试文档: 该文档有助于实现以下目标:确定现有项目的信息和应测试的软件构件;列出推荐的测试需求(高级需求);推荐可采用的测试策略,并对这些策略加以说明;确定所需的资源,并对测试的工作量进行估计;列出测试项目的可交付元素。 所遇到的问题:测试技术不是很熟悉。测试计划覆盖面不全。 解决办法: 在网上搜索相关信息,询问专业测试人员。 二、在毕业设计中取得的成绩 对于项目开发的经验有了很大的提升,同时对软件开发生命周期有更深刻的理解:需求分析、详细设计、数据库设计文档。能够更好的理解需求,在开发过程中充分应用MVC设计模式,使本系统具有更好的可扩展性,可维护性。熟悉的运用开发技术,锻炼自己写代码的能力以及解决问题的能力。

基于遗传算法的智能组卷策略的研究综述Word版

《基于遗传算法的智能组卷策略的研究》综述 姓名刘春晓 学号 2015216104 专业计算机技术 班级 3班 天津大学计算机科学与技术学院 2016年 6 月

基于遗传算法的智能组卷策略的研究综述 摘要随着计算机技术的日益发展和成熟,手工组卷已经不能满足现代的教学要求,组卷智能化在提高教学质量方面发挥着很重要的作用。文章对组卷策略进行了梳理,对比和总结,主要介绍了遗传算法的优点,从遗传算法的基本流程、编码方式、适应度函数和遗传算子方面进行了归纳。接着分析了目前智能组卷策略研究的不足和挑战,最后总结了未来的研究设想。 关键词智能组卷;遗传算法;适应度函数;遗传算子 1引言 在计算机技术发展飞速的今天,计算机应用已经慢慢的渗透到人类生活的方方面面,计算机的辅助教学功能也逐渐得到大家的重视。传统的手工组卷受到人为因素的干扰,导致考试的效率低下,组卷智能化已经成为不可或缺的一项研究。 近几年,智能优化算法倍受人们关注,如人工神经网络、遗传算法,为解决复杂问题提供了新的方法,并在诸多领域取得了成功。组卷问题是一个在一定约束条件下的多目标参数优化问题,针对传统的组卷算法具有组卷速度慢、成功率较低、试卷质量不高等缺点。 智能组卷算法在计算机辅导教学过程中之所以受到重视,是因为它把人工智能技术运用到了组卷中,能够智能的设计试卷的结构和内容,包括试卷的难易度,知识点,题型和题量等,使生成的试卷质量比较高。 遗传算法(Genetic Algorithm ,GA)基于达尔文的进化论和孟德尔的自然遗传学说,是通过模拟遗传选择和自然淘汰的生活进化的随机搜索和全局优化算法(张建国 2009:1)。由于该算法有智能的搜索技术和收敛性质,可以较好的满足智能组卷的要求。所以本系统选用遗传算法作为组卷算法,以试题章节、试题数量、试题知识点、试题题型、试题难度分布、试题曝光度、覆盖度、试题分数分配等约束为组卷条件,使试卷有更好的区分度。 基于遗传算法的智能组卷系统实现了组卷智能化,优化了其他组卷算法的不足,使教学更加自动化和公平化,提高了组卷效率。 2研究现状分析 在系统开发之前,应该首先选择适合本系统的组卷算法,组卷算法的选取对试卷的质量影响颇大。只有相对好的算法才能提高组卷的效率和成功率。组卷实质上就是在复杂的约束条件下的多目标求最优解的问题,保证试卷能够满足教学要求。随着计算机技术和人工智能理论的飞速发展,各种组卷策略层出不穷,选择适合的算法对系统运行有极其重要的作用。分析各种组卷算法的优缺点,找到最优的组卷算法是该系统开发的任务之一。这里我们就现阶段组卷算法进行分析和总结。 现阶段比较成熟的组卷算法有随机选取法、回溯试探法和遗传算法。随机选取法生成的试题重复率较高,难以达到预期效果。回溯试探法是一种有条件的深度优化法,对于状态类型和题量较小的题库系统而言,组卷成功率高,但占用内

遗传算法典范MATLAB代码

遗传算法经典学习Matlab代码 遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法 % % 求下列函数的最大值 % % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10] % % 将 x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为 (10-0)/(2^10-1)≈0.01 。 % % 将变量域 [0,10] 离散化为二值域 [0,1023], x=0+10*b/1023, 其 中 b 是 [0,1023] 中的一个二值数。 % % %

%--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程 %----------------------------------------------- % 2.1初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为 {0,1} 行数为popsize,列数为chromlength的矩阵,

软件开发与项目管理毕业设计中期报告

软件开发与项目管理毕业设计中期报告毕业设计题目:基于web的超市管理系统 专业:软件开发与项目管理 本人自毕业设计开始以来所做的具体工作和取得的进 展或成果以及存在的具体问题 一、前期完成的任务 需求分析文档:对超市管理系统的需求做了比较详细的分析,把超市管理系统整体分成几个模块,整体分为系统主窗体、商品信息管理、销售管理、库存管理、员工管理、供货商管理、系统管理模块,方便后面的编程。同时整个程序按照mVc三层模式编写,一遍程序的后期维护; 所遇到的问题:对超市管理系统的业务流程不熟悉,对 相关知识比较欠缺。 解决方法:在网上搜索相关信息,以及小组成员相互讨论。数据库设计文档:根据数据库设计文档设计数据库中需要的表以及表中的字段,数据库用的是oracle数据库。主要完成的设计任务有概念结构设计,逻辑结构设计,物理结构设计,数据字典设计,安全保密设计,主要包括用户表、资源表等数据表格。 所遇到的问题:对oracle数据库使用不熟,数据库存储 过程的具体使用不熟。 解决办法:阅读数据库帮助文档及上网查询,以及向老

师请教。 测试文档:该文档有助于实现以下目标:确定现有项目 的信息和应测试的软件构件;列出推荐的测试需求(高级需求);推荐可采用的测试策略,并对这些策略加以说明;确 定所需的资源,并对测试的工作量进行估计;列出测试项目 的可交付元素。 所遇到的问题:测试技术不是很熟悉。测试计划覆盖面 不全。 解决办法:在网上搜索相关信息,询问专业测试人员。 二、在毕业设计中取得的成绩 对于项目开发的经验有了很大的提升,同时对软件开发 生命周期有更深刻的理解:需求分析、详细设计、数据库设 计文档。能够更好的理解需求,在开发过程中充分应用mVc 设计模式,使本系统具有更好的可扩展性,可维护性。熟悉 的运用开发技术,锻炼自己写代码的能力以及解决问题的能力。 三、在这一阶段的工作过程中,存在着如下的几点不足:、对需求的分析不是很全面,以及技术不是很熟练,致使在需求分析过程中出现不少问题,致使进度不快。 2、对项目中运用的的mVc设计模式掌握得不到位。 3、 编写文档的时候不够完善。 4、由于异地的关系,相互之间的交流不够。

相关主题