(1) set_data过程
功能:设置配餐目标信息。类型:public。参数列表:
配餐时间 string,
用户账号 string,
配餐目标名称 string,
返回信息 out string
(2) set_element过程
功能:设置配餐目标元素。类型:private。参数列表略。
(3) set_unknown_menu过程
功能:设置未知菜谱。类型:private。参数列表略。
(4) set_known_menu过程
功能:设置已知菜谱。类型:private。参数列表略。
(5) Compute过程
功能:开始配餐运算。类型:public。返回值:Result[]
(1) save_to_base过程
功能:保存配餐结果至数据库。类型:public static。参数列表:
用户账户 string,
配餐目标名称 string,
配餐解决方案之早餐方案 Result[],
配餐解决方案之午餐方案 Result[],
配餐解决方案之晚餐方案 Result[]
(2) insert_meal过程
功能:将配餐结果插入数据库。 类型:private static。参数列表:
用户账户 string,
配餐目标名称 string,
配餐解决方案之早餐方案 Result[],
配餐解决方案之午餐方案 Result[],
配餐解决方案之晚餐方案 Result[]
(3) delete_meal过程
功能:删除配餐表中的用户老的配餐结果。类型:private static。
参数列表:
用户账户 string,
配餐目标名称 string,
Class1.cs文件包含的重要的结构变量和过程如下:
(1) public class individual
{
public uint [] chrom;
public double f;
public double [] fe;
};
说明:该类定义种群中的一个个体,chrom为染色体数组,f为个体评价,fe为每个目标的适应度。
(2) public class Result
{
public int [] ID;
public string [] sLeibie;
public double [] Weights;
}
说明:该类为配餐算法返回的配餐解决方案
(3) public class KMenu
{
public string sLeibie;// 类别
public string sName;// 菜名
public KMenu()
{
sLeibie="";
sName="";
}
};
说明:算法接受并存贮已知菜的个体。
(4) public class UnKMenu//已知菜的类别,
{
public string sLeibie;// 类别
public int count; //该算法计算数据库中属于该类别的菜数
public UnKMenu()
{
sLeibie="";
sName="";
count=0;
}
}
说明: 算法接受并存贮未知菜的个体。
(5) InitGen过程
功能说明:装载配餐菜谱,进行个体染色体分配,初始化种群。 类型:private
(6) NewPoint过程
功能说明:对种群染色体进行解码,求适应度,求非支配解,对这一代种群的优秀个体进行保存,抑制快速收敛。类型:private
(7) LPDSelect过程
功能说明:采用轮盘赌的选择算法,选择父个体。类型:private
(8) CrossOver过程
功能说明:对两个父个体进行染色体交叉。类型:private
(9) Change过程
功能说明:对选中的个体进行变异。类型:private。
(10) DieDai过程