绪论 5 能立即写出来,而是需要利用问题的假设和相关规律进行反复思考、讨论,进行创造性的 工作。当然,任何事情都有一个开始和训练。在运筹学这门课程里,我们除了学习一些运 筹学的分支及其相关理论外,有意识地注意数学建模是一项非常重要的任务。虽然建立 某个问题的数学模型没有一个统一的模式,但从以下几个方面进行思考是有益的: (1)仔细考虑(阅读)问题的已知和未知条件,反复讨论,找出问题要解决的目标。需 要解答者回答的问题往往就是决策变量,用适当的符号表示决策变量。 (2)经过讨论,作出适当与合理的假设。所谓适当与合理的假设主要与该问题所属学 科领域的知识有关。 (③)从问题的最后入手,讨论决策变量之间以及与某些公认的或己知的规律或某种量 之间的联系,并将这些关系表示出来。 (4)将问题需要回答的目标表达出来。 能做到从以上几个方面思考问题,对于学习运筹学来说是足够了,但要提高建立数 学模型的能力却不是一朝一夕的事情,只有长期坚持建模训练才有可能建立一个好的数 学模型,用于解决复杂的实际问题。 算法 假设我们针对某个问题建立了数学模型,那么接下来的任务就是求解这个模型。求 解数学模型,当然要用到相关的数学理论,从求解的方式来看,不外乎有两种方式:公式 的或解析的求解方式以及根据某种算法进行求解。前面一种方式不用讨论,我们着重讨 论第二种方式。由于问题本身的结构,很多问题没办法用公式求解。这时,人们往往会根 据问题的特点和相关理论提出解决这个问题的一些步骤。即,首先应该怎么做,其次又应 该怎么做,在什么情况下应该怎么做,在什么情况应该终止等等。这些解决某个问题的步 骤就是算法。 作为一个算法应该满足一般性和有限终止性。即只要是同类型的问题就应该能够按 照相同的算法得出结果并且一定要在有限次运算后终止(收敛)。除此以外,还需要考虑 算法的运算效率,即收敛速度。 运筹学模型几乎都是根据某种算法进行求解的。因此,适当了解与算法密切相关的 计算复杂性是有必要的。下面对此做一个简单的介绍。所谓问题是指一个抽象的模型或 概念,它通过一些具体的数据表现出来。问题是需要回答的一般性提问,通常含有若干个 满足已定条件的参数。问题通过描述所有参数的特性和描述答案所满足的条件给定。当 问题中的参数赋予了具体值的时候,就称为问题的一个实例(Instance)。一个问题通过它 的所有实例表现。算法常常是针对一个问题来设计的,它可以求解任何一个该问题的实 例。比如,线性规划问题是指:绪 论 5 能立即写出来,而是需要利用问题的假设和相关规律进行反复思考、讨论,进行创造性的 工作。当然,任何事情都有一个开始和训练。在运筹学这门课程里,我们除了学习一些运 筹学的分支及其相关理论外,有意识地注意数学建模是一项非常重要的任务。虽然建立 某个问题的数学模型没有一个统一的模式,但从以下几个方面进行思考是有益的: (1) 仔细考虑 (阅读) 问题的已知和未知条件,反复讨论,找出问题要解决的目标。需 要解答者回答的问题往往就是决策变量,用适当的符号表示决策变量。 (2) 经过讨论,作出适当与合理的假设。所谓适当与合理的假设主要与该问题所属学 科领域的知识有关。 (3) 从问题的最后入手,讨论决策变量之间以及与某些公认的或已知的规律或某种量 之间的联系,并将这些关系表示出来。 (4) 将问题需要回答的目标表达出来。 能做到从以上几个方面思考问题,对于学习运筹学来说是足够了,但要提高建立数 学模型的能力却不是一朝一夕的事情,只有长期坚持建模训练才有可能建立一个好的数 学模型,用于解决复杂的实际问题。 算法 假设我们针对某个问题建立了数学模型,那么接下来的任务就是求解这个模型。求 解数学模型,当然要用到相关的数学理论,从求解的方式来看,不外乎有两种方式:公式 的或解析的求解方式以及根据某种算法进行求解。前面一种方式不用讨论,我们着重讨 论第二种方式。由于问题本身的结构,很多问题没办法用公式求解。这时,人们往往会根 据问题的特点和相关理论提出解决这个问题的一些步骤。即,首先应该怎么做,其次又应 该怎么做,在什么情况下应该怎么做,在什么情况应该终止等等。这些解决某个问题的步 骤就是算法。 作为一个算法应该满足一般性和有限终止性。即只要是同类型的问题就应该能够按 照相同的算法得出结果并且一定要在有限次运算后终止 (收敛)。除此以外,还需要考虑 算法的运算效率,即收敛速度。 运筹学模型几乎都是根据某种算法进行求解的。因此,适当了解与算法密切相关的 计算复杂性是有必要的。下面对此做一个简单的介绍。所谓问题是指一个抽象的模型或 概念,它通过一些具体的数据表现出来。问题是需要回答的一般性提问,通常含有若干个 满足已定条件的参数。问题通过描述所有参数的特性和描述答案所满足的条件给定。当 问题中的参数赋予了具体值的时候,就称为问题的一个实例 (Instance)。一个问题通过它 的所有实例表现。算法常常是针对一个问题来设计的,它可以求解任何一个该问题的实 例。比如,线性规划问题是指: