文档介绍:: .
实验报告
(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