027 线性规划 作者:未知 苏昊平静地答道:“学生只是久闻吴先生的才学,但对于吴先生精通何等学问并不知情,所以也无法說出自己是否有能够让吴先生看得上的学识。学生想向吴先生請教一個問題,吴先生只需說你会或者不会即可,不耽误你的時間,你看如何?” 坐在下面的学生都瞪大了眼睛看着苏昊和吴之诚,苏昊這话,听起来客客气气,但其中却深藏着锐利的锋芒。苏昊的要求很简单:我出一道题给你做,你只需要說会或者不会就行。作为一名考秀才仅考了最后一名的小年轻,对博学的大儒說這种话,简直就是赤裸裸的挑衅了。 “如果我会,你当如何。如果我不会,你又当如何?”吴之诚忍着气问道。人家一個年轻人能够在自己的贬损之下从容淡定,自己如果被人家一句话就激得跳起来,岂不是先栽了?念及此处,他决定先不爆发。 苏昊道:“如果先生会,那学生立即掩面而走,因为這是学生唯一觉得能够拿出来請先生過目的才学。如果先生不会……” “那我马上辞去教谕之职,回家闭门读书,不再误人子弟。”吴之诚被苏昊逼到墙角了,不得不放出狠话。他心想,苏昊的問題如果是有关堂堂正正的学问,那么他沒理由不懂。如果苏昊非要找個冷门偏门的题来考他,想必方孟缙也痛斥苏昊无耻的,所以他不必有這方面的担心。 苏昊道:“這倒不必,术业有专攻,吴先生偶遇不懂的东西,也是正常的。学生只是希望能得到一個向吴先生請教的机会而已。” “不必多嘴,你說你的問題吧。”吴之诚道。 苏昊道:“這個問題是我們工房在工程中遇到的問題。今欲造150件竹器,每件需4尺、2尺6寸和1尺7尺竹竿各一。现有1丈长竹若干,问如何下料,可使长竹用量最少,最少有几何?” “這……” 苏昊的問題一說完,满屋子的人脸色都变了,這個問題听起来非常清楚,但所有的人都知道,這样的题,是他们根本解决不了的。 1丈的长竹,可以裁成2根4尺的,余下的部分裁成1根1尺7寸的,這样会余3寸的竹头;换种裁法,可以裁成1根4尺的,1根2尺6寸的,2根1尺7寸的,這样正好不浪费。問題在于,需要的数量是三种尺寸各150根,這就要使各种裁法相互组合。至于如何组合才是最优的,在众人心目中,除了一根一根去试验之外,并无更好的办法。 很显然,苏昊提出這样一個問題,并不是让吴之诚去用试验方法来解的,偏偏吴之诚還不知道如何求解。你要說這個問題属于冷门偏门吧,好像也說不過去,类似于這样的問題,在曰常生活中是完全可能碰上的。 农历四月中旬的天气,别人都热得冒汗,吴之诚却觉得背心上全是冷汗。作为一個心高气傲的大儒,最受不了的事情,就是被别人在学问上问倒了。吴之诚這辈子倒不是沒有過被别人问倒的时候,但沒有一次是像现在這样,明明觉得這是一個非常简单的問題,但自己连一点门道都摸不着。 “苏昊,這是一個算学的問題,我却记不起哪本书上有口诀可用。你出了這個题,莫非你能够解出来?”方孟缙从身边吴之诚的喘气声中,能够听出他正处于尴尬之中,便打破沉默,向苏昊发问了。方孟缙沒有与苏昊赌什么东西,他来发问,是非常合适的。 苏昊在出题的时候,就沒指望吴之诚能够做出来,要知道,這可是一個线姓规划的問題,超前于這個时代好几百年了。即便是在西方,线姓规划問題的提出,也是在200年之后,即在19世纪初的时候。最早提出這個問題的,是著名的法国数学家傅利叶,但以傳利叶的水平,竟然也找不出一個好的解决方案,而是要等到又過了100多年,到20世纪50年代的时候,才有了相应的算法。 苏昊拿這样的题来考吴之诚,說穿了就是拿金手指来欺负古人。话又說回来,穿越众不用金手指,還好意思說自己是穿越来的嗎? 看到吴之诚老脸涨得通红的样子,苏昊微微一笑,对方孟缙說道:“方师爷,我大明学问中并无解此题之法,然夷人有矩阵之术,可解此题。” “苏小哥可会此术?”方孟缙问道。 “略通一二。”苏昊毫不客气地說道。 方孟缙道:“那就請苏小哥给我等演示一下,如何?” “遵命。”苏昊敛襟拱手,然后对学生们问道:“哪位兄台可借小弟几张白纸。” “我這有!” “用我的!” 几個学生争着把纸递了過去,苏昊称了声谢,把纸接過来。又有学生取出笔墨,欲递给苏昊,苏昊摆摆手,从袖筒裡掏出几截炭头,笑道:“惭愧,小弟做算学的时候,习惯用此物为笔。” 這不是废话嗎,谁也不可能拿着毛笔去解矩阵题。苏昊拿着简易的炭笔,开始在纸上写起式子来了,众人一齐围過来观看。吴之诚虽然抹不开面子,但也想知道苏昊是用什么样的方法来解這种問題的,所以也站在一旁看着。 “苏小哥,你写的這個,是夷人的计数法吧?”方孟缙看苏昊写出来的一串阿拉伯数字,忍不住问道。 “正是。”苏昊道,“這种计数法,叫作阿拉伯数字,其实是天竺人发明的,经天方人传到佛郎机。我們說的天方,在佛郎机语裡就叫阿拉伯。其实阿拉伯数字在南宋的时候就已经传入中国了,只是沒有人使用而已。” “這也是你从佛郎机人那裡学来的?”方孟缙问道。 “是的,我见過的那個佛郎机传教士,见识颇为广博,跟我讲了不少。” 苏昊嘴裡說着话,手上還在不断地写着式子。他用的是单纯形法解线姓规划問題,這個方法步骤挺麻烦,但只涉及简单的加减乘除,算起来倒也挺快。不一会,苏昊就把最终的式子列出来了,他指着结果对众人說道: “大家来看,這就是演算的结果。我們设4尺的竹竿为甲,2尺6寸的为乙,1尺7寸的为丙。 取长竹21根,截为2甲1丙,可得42甲,21丙;取长竹45根,截为1甲2乙,可得45甲,90乙;取长竹60根,截为1甲1乙2丙,可得60甲,60乙,120丙;取长竹3根,截1甲3丙,可得3甲,9丙。 上述合计需费长竹129根,可得甲、乙、丙各150根,是为最省方法。” 众人面面相觑,作为书院的学生,他们平时也要学一些算术的,這在书院裡被称为数艺,包括方田、栗布、差分、少广、商功、均输、盈朒、方程、勾股等內容。有自觉数艺学得不错的学生马上开始对苏昊算出来的数字进行验算了,其结果当然是一点問題都沒有。至于說129根长竹是不是最优的结果,大家无法驗證,但当他们自己尝试着用其他组合方法来裁切的时候,得出来的值都大于129。 “曰谦兄,你看苏昊的這個结果……”方孟缙扭头看着吴之诚,征询着他的意见。 吴之诚作为一個大儒,在数艺方面也是颇有一些造诣的。苏昊用单纯形法解决這個规划問題,他站在一旁细细观看,隐隐悟出了一些道道,也正因为如此,他才更加觉得震惊。要知道,這是一個他从来沒有见過,甚至从来沒有想過的全新领域,在這個世界上,竟然有這样奇妙的算法,能够把一個如此困难的問題,用简单的加加减减就解决出来了。 “苏公子,老夫坐井观天,忘了学无止境的古训,实在是惭愧莫名。先前老夫对苏公子颇有不敬之辞,還請公子见谅。苏公子,請受老夫一拜。” 吴之诚心高气傲,但同时也是一個有担当的人。一旦悟到了自己的過错,他马上就能承认,而且不忌讳当着全体学生的面,向苏昊這样的年轻人道歉。 苏昊见吴之诚如此谦恭,哪裡敢受他的大礼,连忙躬身還礼,說道:“吴先生折煞学生了,学生不過是学了一些夷人的奇巧银技,岂能与先生的大才学相比。” “苏公子,老夫对你這夷人的数艺之法很是羡慕,不知苏公子可愿将其法授予老夫?”吴之诚道完歉,立马就厚着脸皮要向苏昊学艺了。這也就是他這种老知识分子的姓格了,朝闻道,夕死可也,看到自己不懂的东西,他连等待几天的耐心都沒有了。 苏昊道:“先生有问,学生自当知无不言,言无不尽。不過,吴先生,当下不是讲授這数艺之法的时候,打井的事情才是重中之重。学生斗胆想請先生借一些弟子给我,助我一臂之力。” “好說,好說。”吴之诚点头不迭,他走上讲台,看着整個讲堂裡的学生,大声說道:“各位生员,今有苏昊公子受知县韩大人委派,负责全县打井事务。苏公子欲在我书院之中聘生员若干,助其勘测井位。诸位有谁愿意参加的?” 话音未落,只见满屋子的学生齐刷刷地举起了右手,如同一片森林一般。