1 / 5
文档名称:

动态规划实验报告.doc

格式:doc   大小:111KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

动态规划实验报告.doc

上传人:小博士 2018/11/29 文件大小:111 KB

下载得到文件列表

动态规划实验报告.doc

文档介绍

文档介绍:: .
实验报告
(2011 — 2012年度第一学期)
名称: 运筹学上机实验
题目:用编程实现动态规划资源分配问题
院系: 数理系
班级:
学号:
学生姓名:
指导教师:
设计周数: 1周
成绩:
口期:2011年11月20日
一、 实验的目的与要求
1. 培养信息类学生而向对象编程技术的基本能力。
2. 掌握动态规划资源分配基本算法。
3. 了解而叫对象编程的基本概念,并用程序编写单纯形法,解决一定的应用问题。
二、 实验
预期实验成果要求
用程序编写简单的动态规划资源分配计算程序,并能用其解决简单的动态规划资源分配问题。
分析实现过程
1
(1) 把矩阵输入程序;
(2) 利用for循环,找到最优值;
(3) 记录最优值,再次利用fbi•循环,找出每一个满足最优值的解,输出;
系统实现
(1)利用for循环,找到最优值
public double Max (double [, ]Matrix)
{
double temp = 0;
for (int i = 0; i < r; i++)
for (int m = 0; i + m < r; m++)
for (int n = 0; i + m + n < r; n++)
Rt = Matrix[i, 0] + Matrix[m, 1] + Matrix[n, 2]: if (Rt > temp)
temp = Rt;
}
return temp;
}
(2)记录最优值,再次利用for循环,找出每一个满足最优值的解,输出
public void Count (double[, ] Matrix)
double c = Max(Matrix);
for (int i = 0; i < r; i++)
for (int m = 0; i + m < r; m++)
for (int n = 0; i+m+n〈r; n++)
{
double d = Matrix[i, 0] + Matrix[m, 1] + Matrix[n, 2]; if (d == c)
{
Console. WriteLineC结梁是{0}、{1}、{2}' i, m, n);
}
}
Console. WriteLine(〃目标函数为{0}〃,c);
}
代码实现
Dtgh dt= new Dtgh(6, 3); int r=6, c=3; doublet, ] Matrix