目标函数是数学优化问题中需要被最大化或最小化的那个函数,又称代价函数或评价函数,它把所要追求的目标表示为决策变量的函数。[1][2] 优化问题由目标函数、决策变量与约束条件共同构成,使目标函数在约束范围内取到最优值的变量取值称为最优解。[3][2] 目标函数的形式决定了问题的类型与求解难度,它在运筹学、经济管理、工程设计和机器学习中被广泛使用。[4][5]
定义
目标函数是数学规划(最优化)问题中被优化、即被最大化或最小化的那个函数,用来把人们追求的目标写成决策变量的函数。以形如求 $f(x)$ 在集合 $C$ 上最小值的问题为例,$f$ 就是目标函数,$C$ 为约束集或称可行域,其中的元素称为可行解。[1][2] 目标函数也常被称为代价函数或评价函数;经济与工程问题中的成本、损耗等指标,机器学习中的损失函数,都是目标函数的实例。[1][5]
一个完整的优化模型通常包含决策变量、目标函数与约束条件 3 个部分:决策变量是模型中取值可以调整的未知量;约束条件用等式或不等式给出决策变量必须满足的限制;满足全部约束的变量取值称为可行解,使目标函数取得最大或最小值的可行解称为最优解,对应的函数值称为最优值。[3][2]
按目标函数与约束条件的形式可以对优化问题分类:两者都是线性函数的称为线性规划;只要目标函数或约束条件中出现非线性成分,就属于非线性规划。[3] 只含一个目标函数的问题称为单目标优化,需要同时处理多个目标函数的问题则称为多目标规划。[6][4]
原理
目标函数的作用是把定性的目标转成可以比较、可以计算的数值,从而为方案选择提供统一尺度。建立模型时,一般先分析实际问题并确定决策变量,再写出目标函数与约束条件,最后整理成数学模型交给算法求解。[6][4]
以线性规划为例,其标准形式可写作 $\max z = c_1x_1 + c_2x_2 + \cdots + c_nx_n$,并受一组线性等式条件以及决策变量的非负条件约束,其中 $z$ 即目标函数,$c_j$ 为价值系数。[3]
最大化一个函数与最小化它的相反数等价,因此最小化问题可以先转成最大化问题求解,再把结果取相反值;线性规划中还常引入松弛变量,把不等式约束改写成等式约束,使各类问题都能化为统一的标准型。[3]
求解一般依靠迭代算法完成。以线性规划为例,如果最优解存在,目标函数的极值必定落在可行域多面体的某个顶点上;单纯形法从某一顶点出发,沿使目标函数值改善的方向移动到相邻顶点,逐次改进,直到无法继续改善为止。[7][8]
对于带约束的问题,也可以把约束以加权方式并入目标函数。拉格朗日方法把约束转移到经过修改的目标函数中,用拉格朗日乘子对违反约束的程度施加惩罚,从而得到较易处理的松弛问题。[7]
建模与求解的一般流程可以表示为:
flowchart LR
A[实际问题] --> B[确定决策变量]
B --> C[写出目标函数与约束条件]
C --> D[化为标准型]
D --> E[迭代求解]
E --> F[得到最优解与最优值]
发展历程
目标函数的概念随着数学规划的发展而逐步明确。20 世纪 30 年代末,苏联数学家康托洛维奇在研究工业生产组织与规划问题时提出了资源最优利用的模型与求解思路,其成果见于 1939 年的著作《生产组织和计划中的数学方法》。[3][4]
1947 年,美国数学家丹齐格提出求解线性规划的单纯形法,使这类问题在理论上趋于成熟,并很快被用于工业、交通、农业与军事等领域。[4][8] 康托洛维奇因在资源最优分配方面的贡献获得 1975 年诺贝尔经济学奖。[8]
1951 年,库恩与塔克发表关于最优性条件的论文,被视为非线性规划正式形成的重要标志;20 世纪 50 年代还出现了可分离规划、二次规划等多种解法,其后非线性规划算法在 60 至 70 年代进一步发展。[9] 随着计算机的普及,线性规划与非线性规划在经济管理、工程设计等领域大量应用;据 20 世纪 80 年代末对全美 500 家大公司的一项调查,线性规划的应用范围名列前茅。[4]
应用
在运筹学与管理科学中,目标函数用于生产计划、运输调度、合理下料、配料与库存等问题的建模,通常把利润、产量或效率作为需要最大化的目标,把成本、运费或损耗作为需要最小化的目标。[4]
在工程领域,目标函数常取为待优化的成本、重量等技术指标,决策变量则是可以调整的设计参数,过程控制与结构设计等问题都可以按这种方式建立优化模型。[4]
在机器学习中,模型训练通常归结为最小化以损失函数形式给出的目标函数:优化算法依据目标函数的梯度迭代更新模型参数,使预测值与真实值的偏差不断减小;为降低过拟合风险,不少算法还会在目标函数中引入正则化项。[5] 常用的损失函数包括平方损失、交叉熵损失、Hinge 损失等。[10]
在电力系统等工程系统中,目标函数可以用来描述发电成本或网络损耗,例如以各机组发电成本之和最小作为优化目标。[11]
局限
目标函数的最优值并不总是容易求得。一般情况下,目标函数可能存在若干个局部极小值或局部极大值,因此局部优化方法往往只能收敛到其中一个局部最优解,结果还依赖初始点的选取。[12][13] 若要保证得到全局最优解,往往需要很高的计算代价,一般的非凸优化问题属于 NP 困难问题。[13][14]
目标函数的选取会直接影响所得解的合理性。如果目标函数没有准确反映决策者真正关心的目标,即使算法求出了最优解,该解也可能不符合实际需要。[6]
当问题含有多个互相冲突的目标时,通常不存在让所有目标同时达到最优的单一解,需要在多目标规划框架下进行权衡,帕累托最优就是刻画这种互不占优方案的概念。[6]
参见
参考资料
- cambridge.org 上的网页 . cambridge.org [引用日期2026-09-29]
- 1 Introduction . ox.ac.uk [引用日期2026-09-29]
- 线性规划及单纯形法 . tup.com.cn [引用日期2026-09-29]
- [科普中国]-规划论 - 版权归原作者所有,如有侵权,请联系我们 . kepuchina.cn [引用日期2026-09-29]
- 什么是损失函数?| IBM . ibm.com [引用日期2026-09-29]
- Objective function — 目的関数 . systems-analysis.ru [引用日期2026-09-29]
- Optimization Theory - Chapters and Articles . sciencedirect.com [引用日期2026-09-29]
- Programación lineal (Historia) . mec.es [引用日期2026-09-29]
- 规划论_百度百科 . baidu.com [引用日期2026-09-29]
- Loss Function . cmu.edu [引用日期2026-09-29]
- Solving Optimization Problem - Chapters and Articles . sciencedirect.com [引用日期2026-09-29]
- [科普中国]-最优函数 . kepuchina.cn [引用日期2026-09-29]
- Methods for nonconvex optimization problems . stanford.edu [引用日期2026-09-29]
- 斯坦福助理教授马腾宇:ML非凸优化很难,如何破? . 163.com [引用日期2026-09-29]
浏览次数:0 次
阅读量:0 次 · 阅读完成量:0 次
最近更新:2026-09-29T09:00:08Z
完成率 = 阅读完成量 ÷ 阅读量,分母是阅读量不是浏览次数 —— 关了 JS 的、秒退的都在浏览次数里、不在阅读量里。 详细口径在后台的「数据统计」页。