运筹学研究的模型主要有以下几种类型:
1.分配类模型 这类模型主要研究最优分配,例如由若干种有限的原料制成产品的最优分配。这类模型包括线形规划、非线形规划、整数规划和动态规划等模型,其中线形规划应用最为广泛,理论也很完善和成熟。
2.网络模型 网络模型用图示描述,另有一套计算方法。在现实系统中,诸如此类的问题很多,如最大流问题、最短路径问题、运输问题等都可以采用网络模型求解。
3.选址模型 选址模型用于选择一个或几个服务设施,使这些实施点对附近供应费用达到最小。
4.排序模型 排序模型是生产管理中使用的模型,例如不同类型的零件加工顺序等。
5.决策模型 决策模型用于在若干个方案中找到一个经典方案。决策在所有经济活动中都存在,甚至在生活也存在决策。
6.排队模型 研究排队的规律,用于大型的随机的服务系统中。在计算机的操作系统上对中断处理就是使用排队模型。
7.存储模型 存储模型研究在存储费用最小的情况下的库存量、定货批量和定货次数等一系列问题。
在对软件系统(对系统的在实施软件上的建模)我们讨论最多的就是网络模型和决策模型。
网络模型就相当于UML中的采用的时序图(在UML中时序图是非常重要的一种图,但在此处我们仅仅需要知道什么是网络模型,时序图在第四章讨论)。
网络模型主要是画网络图,网络图由节点和箭头组成,节点称为事项,箭头称为活动。
如图的描述
该图表示第j个事项开始工作必须等第i个事项结束(或完成),箭头上面的符号n表示完成第i事项完成的时间为n天(在软件工程上一般是按人月(Man-Month)来计算)。
我们引进一个例子来说明问题
一个农场主养了一群羊,每到年底的时候,他都要决定卖掉几只,用卖羊的钱改善生活;留下几只,以供明年的发展。在留羊的时候,需要看看羊的干草是否可以够留下的羊吃过冬天,如果不够,那么农场主需要把卖羊的钱用来买草。
我们来表示买羊买草的过程

该图并不复杂,其中没有关联交差的活动,若其中有交差的活动,我们将需要考虑各种不同组合,以达到最优的效果。
关于网络模型,我们将在UML的时序中在进一步地说明。
决策模型
决策遍及各个领域,人类在和"自然"斗争时也需要决策,何谓决策,决策是人(主体)行动的先导。决策问题包括三个方面,一是决策者所要达到的一定的目标;二是决策者可以选择的行动方案;三是采取这些行动后可能产生的效果。为了能准确进行决策,需要决策者对被决策系统(客观事物)的本质有足够地认识,并且需要对有关信息进行收集,处理和分析,以得到一个合理地、完好的解决方案。
决策的分析过程
需要决策分析的系统一般非常复杂,而且数据庞杂(我不是在吓唬你),各种情况之间关系复杂,同时还有许多不确定的因素。
①陈述问题
定义目标,提出可控因素及不可控因素,也即选取可能的策略及自然状态,提出各种自然情况的可能性。
②建立模型
将已经陈述的问题模型化,可以根据可控因素和不可控因素的情况分析如上的问题,将问题分步转化为模块,并组合成模型,并逐步分析修改。
③求解模型
用分析方法求解的模型直接可以通过分析法求解,如果不能用分析法求解就用模拟法求解。在求解的过程中必须考虑将不同参数输入以检验输出结果的变化。
④实施模型
模型地实施需要全方位配合,当然也是系统成败的关键。
如此模型的求解和实施是建立于对模型地分析的基础上,在软件工程领域内,对模型的分析,主要集中于该(决策)系统的风险。不同的风险因素,将对如何构建系统的模型产生直接影响,关于软件工程中存在的风险。我们将在第二章软件工程中作详细的讨论。
如何描述一个建好的系统模型,我们刚才见了系统决策过程的第一步就是对系统的描述,描述系统存在的问题,以便有的放失采取行动。
我们首先来看一下计算运行环境的系统和信息。