一切问题都可以是最优化
本文版权属于重庆大学计算机学院刘骥,禁止转载
最优化问题的一般定义是:存在目标函数 f(x1,x2,...,xn) ,求满足特定条件的变量 x1,x2,...,xn 使得目标函数值最大或者最小。最典型的例子就是求解函数 f(x)=ax2+bx+c 的极值(初中数学的内容)。在现实生活中,人们求解一个问题,往往需要找到这个问题最好的解。比如找到最好的伴侣、找最好的工作、最好的美食、最省钱的商品,以及最XXX的XXX。在解决这些问题的过程中,最优化函数往往只存在于脑海中,求解也在脑袋里进行。因此我们往往得到的是这些问题的近似解,但如果要求得更为准确的结果,那么就需要严格的定义目标函数,采用最精确的数学方法求解。随着大数据的发展,如果你愿意,那么完全可以利用现代科技,解决找工作、择偶、吃饭等等一系列的问题。事实上,这一切都由高科技公司帮忙做了,只是大家浑然不觉而已。比如外卖网站会给你推荐美食,这些推荐就是根据一系列的最优化算法得出的。
因此如果抛开一些非常特殊的问题,例如打印“Hello World”(生拉硬扯也不是不行),大多数问题都可以纳入最优化的框架。下面列举一个简单的非最优化问题,我们试试如何将其转换为最优化问题。
问题:求解水仙花数
该问题就不再描述了,学过计算机的都懂。下面我们将其转换为最优化问题。设集合 N 是从100到999的自然数数列,