027 線性規劃
2024-05-20 00:18:23
作者: 齊橙
蘇昊平靜地答道:「學生只是久聞吳先生的才學,但對於吳先生精通何等學問並不知情,所以也無法說出自己是否有能夠讓吳先生看得上的學識。學生想向吳先生請教一個問題,吳先生只需說你會或者不會即可,不耽誤你的時間,你看如何?」
坐在下面的學生都瞪大了眼睛看著蘇昊和吳之誠,蘇昊這話,聽起來客客氣氣,但其中卻深藏著銳利的鋒芒。蘇昊的要求很簡單:我出一道題給你做,你只需要說會或者不會就行。作為一名考秀才僅考了最後一名的小年輕,對博學的大儒說這種話,簡直就是赤裸裸的挑釁了。
「如果我會,你當如何。如果我不會,你又當如何?」吳之誠忍著氣問道。人家一個年輕人能夠在自己的貶損之下從容淡定,自己如果被人家一句話就激得跳起來,豈不是先栽了?念及此處,他決定先不爆發。
蘇昊道:「如果先生會,那學生立即掩面而走,因為這是學生唯一覺得能夠拿出來請先生過目的才學。如果先生不會……」
「那我馬上辭去教諭之職,回家閉門讀書,不再誤人子弟。」吳之誠被蘇昊逼到牆角了,不得不放出狠話。他心想,蘇昊的問題如果是有關堂堂正正的學問,那麼他沒理由不懂。如果蘇昊非要找個冷門偏門的題來考他,想必方孟縉也痛斥蘇昊無恥的,所以他不必有這方面的擔心。
蘇昊道:「這倒不必,術業有專攻,吳先生偶遇不懂的東西,也是正常的。學生只是希望能得到一個向吳先生請教的機會而已。」
「不必多嘴,你說你的問題吧。」吳之誠道。
蘇昊道:「這個問題是我們工房在工程中遇到的問題。今欲造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。
「日謙兄,你看蘇昊的這個結果……」方孟縉扭頭看著吳之誠,徵詢著他的意見。
吳之誠作為一個大儒,在數藝方面也是頗有一些造詣的。蘇昊用單純形法解決這個規劃問題,他站在一旁細細觀看,隱隱悟出了一些道道,也正因為如此,他才更加覺得震驚。要知道,這是一個他從來沒有見過,甚至從來沒有想過的全新領域,在這個世界上,竟然有這樣奇妙的算法,能夠把一個如此困難的問題,用簡單的加加減減就解決出來了。
「蘇公子,老夫坐井觀天,忘了學無止境的古訓,實在是慚愧莫名。先前老夫對蘇公子頗有不敬之辭,還請公子見諒。蘇公子,請受老夫一拜。」
吳之誠心高氣傲,但同時也是一個有擔當的人。一旦悟到了自己的過錯,他馬上就能承認,而且不忌諱當著全體學生的面,向蘇昊這樣的年輕人道歉。
蘇昊見吳之誠如此謙恭,哪裡敢受他的大禮,連忙躬身還禮,說道:「吳先生折煞學生了,學生不過是學了一些夷人的奇巧淫技,豈能與先生的大才學相比。」
「蘇公子,老夫對你這夷人的數藝之法很是羨慕,不知蘇公子可願將其法授予老夫?」吳之誠道完歉,立馬就厚著臉皮要向蘇昊學藝了。這也就是他這種老知識分子的性格了,朝聞道,夕死可也,看到自己不懂的東西,他連等待幾天的耐心都沒有了。
蘇昊道:「先生有問,學生自當知無不言,言無不盡。不過,吳先生,當下不是講授這數藝之法的時候,打井的事情才是重中之重。學生斗膽想請先生借一些弟子給我,助我一臂之力。」
「好說,好說。」吳之誠點頭不迭,他走上講台,看著整個講堂里的學生,大聲說道:「各位生員,今有蘇昊公子受知縣韓大人委派,負責全縣打井事務。蘇公子欲在我書院之中聘生員若干,助其勘測井位。諸位有誰願意參加的?」
話音未落,只見滿屋子的學生齊刷刷地舉起了右手,如同一片森林一般。