- 書 號： 978-7-121-38177-5
- 出版日期：2020-05-01
- 頁 數：240
- 開 本：16(170*240)
- 出版狀態：正在印刷
- 原書名： Julia Programming for Operations Research
- 原書號：9781798205471
- 維護人：崔志偉

Julia 像C一樣快，像MATLAB 一樣方便，并且像Python 一樣通用。在Julia 開發者，特別是JuMP 包開發者的大力支持下，Julia 為運籌學及相關領域的高性能科學計算提供了一個強大的工具——JuMP。

本書對Julia 語法基礎及其標準庫、編程技巧、數值優化、優化求解、計算機科學計算都有所涉及，它可以作為計算機科學計算的入門圖書使用；本書作者是美國南佛羅里達大學副教授Changhyun Kwon，他為了方便學生的研究、學習寫下本書，所以本書也可以作為高校研究生和教師的有用的參考書。

本書對Julia 語法基礎及其標準庫、編程技巧、數值優化、優化求解、計算機科學計算都有所涉及，它可以作為計算機科學計算的入門圖書使用；本書作者是美國南佛羅里達大學副教授Changhyun Kwon，他為了方便學生的研究、學習寫下本書，所以本書也可以作為高校研究生和教師的有用的參考書。

寫這本書的主要動機是幫助作者自己。作為運籌學領域的教授，他的日?；顒影ń祵W優化模型、開發解決問題的算法、使用計算機編程語言實現這些算法、用數據進行實驗等等。涉及三種語言:人類語言、數學語言和計算機語言。他的學生團隊需要復習三種不同的語言，這就需要在三種語言之間進行“翻譯”。這本書是為了教他的研究小組如何翻譯而寫的，對于任何需要在類似情況下學習如何翻譯的人來說，這本書也是很有用的。Julia語言與C語言一樣快，與MATLAB一樣方便，與Python一樣通用，為數學優化問題提供了靈活的代數建模語言。在Julia開發人員的大力支持下，特別是JuMP-Julia for math programming package開發人員的大力支持下，Julia為從事運籌學及相關領域(如工業工程、管理科學、交通工程、經濟學和區域科學)的學生和專業人員提供了一個完美的工具。

寫作本書的主要目的是“幫助我自己”。我是一位運籌學教授，每天都做著構建數學優化模型、開發解決問題的算法、用計算機編程語言執行這些算法、用數據做實驗等工作。這期間會用到人類語言、數學語言和計算機語言這3 種語言。我的學生和我需要在這3 種語言之間進行跳轉，我們需要在這3 種語言之間進行“翻譯”。

當有學生因這類“翻譯”任務向我求助時，我通常把自己之前的“翻譯”作為例子，或者查找網上可能有幫助的資源給他。如果學生的數學基礎不錯，有足夠的計算機編程經驗，對數學計算的工作原理理解得很好，那么他學起來就會比較容易，我每天的研究和教學任務也會進行得比較順利。

但不盡如人意的是，很多搞運籌學的研究生需要花很長時間去學習如何“翻譯”。寫作本書就是為了讓我能夠更好地幫助他們。

我既不是計算機科學家，也不是軟件工程師。所以，本書并沒有教授最好的“翻譯”方法，而是講解在運籌學和管理學的研究和開發工作中，如何完成一些常見的任務。這只是“一種翻譯”，并且很可能不是最好的“翻譯”。但閱讀本書后，讀者應該能夠學會用這樣或那樣的方式去搞定任務。

本書教些什么

本書不只是關于數值計算方法的教科書、Julia 編程綜合介紹書、數值優化的教科書、優化求解完全手冊，也不只是計算機科學和工程的入門書——本書對這些內容都有所涉及。

本書首先會講解如何安裝Julia 語言。然后講一些語法、Julia 的標準庫、Julia編程技巧、一些數值方法、優化模型、蒙特卡洛方法、算法和一些優化解決方案。

本書絕不是以上提到的各個領域的完整的教科書，也不該被單獨當作教科書來使用。在我看來，最好把本書與其他運籌學和管理學的主要教科書和參考書一起使用。本書的讀者需要熟悉或愿意從其他參考文獻中自學優化理論和算法。當然，我在書中提供了相關領域的我所知的最好的參考資料。

閱讀本書后，讀者就有了一些寫代碼的經驗，就應該能夠檢索和閱讀更多網上的技術文檔了。本書將幫助你邁出學習運籌學和管理學計算的第一步——這事實上是一本計算機入門圖書。

本書怎么用

本書無疑對研究生及他們的導師完成研究任務會有很大的幫助。低年級研究生可以把本書當作可選優化求解器和算法的輔導書，也可以當作學習指南。當研究生在學習各種課程時，本書將會是學習如何解決特定優化問題和實現算法的好起點。最后，本書也將會是他們做論文研究的有用參考書之一。

高年級研究生可以把本書作為參考文獻。例如，當需要為他們的問題執行拉格朗日松弛法時，他們可以參考本書的對應章節學習如何執行。

我同時還希望，本書可以作為運籌學、分析學、線性規劃、非線性規劃、數值優化、網絡優化、管理學及運輸工程的補充教科書。對運籌學專業和管理學專業來說，數值方法和計算機計算工具是必修的課程，老師可以根據自己的主要關注點，將本書作為初級或中級教科書。

高級程序員需注意

如果你已經熟悉計算機計算和至少一種計算機編程語言，我認為本書可能對你意義不大。網上有很多資源可以讓你學習Julia 語言并很容易地跟進最新進展。但如果你希望學得更快，遇到的問題更少，本書將對你有所幫助。

我在學Julia 之前有MATLAB 和Java 的編程經驗。學習Julia 并不難，相反，它令人激動又很有趣。我們只需要一些好的“借口”去學習和使用Julia。閱讀第1章可以了解這些“借口”。

參考資料說明

本書提供了大量的參考資料以方便讀者更好地了解書中提到的相關技術及工具。為了保證參考資料相關鏈接能夠實時更新，特將“參考資料”文檔放于博文視點官方網站，讀者可在http://www.mmzxjp.buzz/38177 頁面進行下載。

致謝

我誠摯地感謝Julia 開發者的辛勤努力。Julia 是一門美麗的語言，我非常喜歡。它完全改變了我每天的計算生活。我也很感激JuMP 和其他相關軟件包的開發者。自從有了JuMP，我不再需要去尋找更好的模型語言了。

Changhyun Kwon

于美國佛羅里達州 坦帕

當有學生因這類“翻譯”任務向我求助時，我通常把自己之前的“翻譯”作為例子，或者查找網上可能有幫助的資源給他。如果學生的數學基礎不錯，有足夠的計算機編程經驗，對數學計算的工作原理理解得很好，那么他學起來就會比較容易，我每天的研究和教學任務也會進行得比較順利。

但不盡如人意的是，很多搞運籌學的研究生需要花很長時間去學習如何“翻譯”。寫作本書就是為了讓我能夠更好地幫助他們。

我既不是計算機科學家，也不是軟件工程師。所以，本書并沒有教授最好的“翻譯”方法，而是講解在運籌學和管理學的研究和開發工作中，如何完成一些常見的任務。這只是“一種翻譯”，并且很可能不是最好的“翻譯”。但閱讀本書后，讀者應該能夠學會用這樣或那樣的方式去搞定任務。

本書教些什么

本書不只是關于數值計算方法的教科書、Julia 編程綜合介紹書、數值優化的教科書、優化求解完全手冊，也不只是計算機科學和工程的入門書——本書對這些內容都有所涉及。

本書首先會講解如何安裝Julia 語言。然后講一些語法、Julia 的標準庫、Julia編程技巧、一些數值方法、優化模型、蒙特卡洛方法、算法和一些優化解決方案。

本書絕不是以上提到的各個領域的完整的教科書，也不該被單獨當作教科書來使用。在我看來，最好把本書與其他運籌學和管理學的主要教科書和參考書一起使用。本書的讀者需要熟悉或愿意從其他參考文獻中自學優化理論和算法。當然，我在書中提供了相關領域的我所知的最好的參考資料。

閱讀本書后，讀者就有了一些寫代碼的經驗，就應該能夠檢索和閱讀更多網上的技術文檔了。本書將幫助你邁出學習運籌學和管理學計算的第一步——這事實上是一本計算機入門圖書。

本書怎么用

本書無疑對研究生及他們的導師完成研究任務會有很大的幫助。低年級研究生可以把本書當作可選優化求解器和算法的輔導書，也可以當作學習指南。當研究生在學習各種課程時，本書將會是學習如何解決特定優化問題和實現算法的好起點。最后，本書也將會是他們做論文研究的有用參考書之一。

高年級研究生可以把本書作為參考文獻。例如，當需要為他們的問題執行拉格朗日松弛法時，他們可以參考本書的對應章節學習如何執行。

我同時還希望，本書可以作為運籌學、分析學、線性規劃、非線性規劃、數值優化、網絡優化、管理學及運輸工程的補充教科書。對運籌學專業和管理學專業來說，數值方法和計算機計算工具是必修的課程，老師可以根據自己的主要關注點，將本書作為初級或中級教科書。

高級程序員需注意

如果你已經熟悉計算機計算和至少一種計算機編程語言，我認為本書可能對你意義不大。網上有很多資源可以讓你學習Julia 語言并很容易地跟進最新進展。但如果你希望學得更快，遇到的問題更少，本書將對你有所幫助。

我在學Julia 之前有MATLAB 和Java 的編程經驗。學習Julia 并不難，相反，它令人激動又很有趣。我們只需要一些好的“借口”去學習和使用Julia。閱讀第1章可以了解這些“借口”。

參考資料說明

本書提供了大量的參考資料以方便讀者更好地了解書中提到的相關技術及工具。為了保證參考資料相關鏈接能夠實時更新，特將“參考資料”文檔放于博文視點官方網站，讀者可在http://www.mmzxjp.buzz/38177 頁面進行下載。

致謝

我誠摯地感謝Julia 開發者的辛勤努力。Julia 是一門美麗的語言，我非常喜歡。它完全改變了我每天的計算生活。我也很感激JuMP 和其他相關軟件包的開發者。自從有了JuMP，我不再需要去尋找更好的模型語言了。

Changhyun Kwon

于美國佛羅里達州 坦帕

《程序員修煉之道》之所以在全球范圍內廣泛傳播，被一代代開發者奉為圭臬，蓋因它可以創造出真正的價值：或編寫出更好的軟件，或探究出編程的本質，而所有收獲均不依賴于特...

￥89.00

本書主要闡述 ASP.NET Core 最核心的部分——請求處理管道。通過閱讀本書，讀者可以深刻系統地了解 ASP.NET Core 應用在啟動過程中管道的構建...

￥199.00

TestNG 作為Java 中舉足輕重的測試框架，除可以替代JUnit 進行單元自動化測試外，還可以通過集成Selenium、Appium 和HttpClien...

本書以Spring Cloud為主導，以電商平臺為實例，從服務架構設計的角度，對架構設計、程序開發、運維部署三個層面進行了詳細的闡述。本書不僅詳細介紹了如何使用...

本書以學會、用好 Python 語言進行軟件編程為目標，不僅講解了基本概念、數據類型、變量、運算符、函數、程序的控制結構等 Python 語言的基礎知識，還深入...

Dubbo是阿里巴巴開發的一個開源的高性能、高可用、可擴展的分布式RPC調用框架，致力于提供高性能和透明化的 RPC 遠程調用服務解決方案。作為阿里巴巴 SOA...