没有合适的资源?快使用搜索试试~ 我知道了~
glpk工具箱支持混合整数线性编程(MILP)的方法。 这些方法解决了资本预算问题(CBP)。 不幸的是,glpk不支持任何多线程,并且没有通过网络连接分发问题的功能。 如今,这是可怜的景象,因为现代计算机系统通过网络耦合在一起并支持多线程。 我们使用Apache Thrift和glpk的C-API创建一个分布式系统。 现在,可以在网络中使用任意数量的核心。 着眼于MILP方法,我们实现了负载平衡并以乘法方式加快了求解过程。 有时,我们会使用少量硬件来实现超线性加速。 随着问题的分裂,并行计算并将实际的最佳解决方案分配给所有正在运行的流程,我们解决CBP的速度比顺序处理快得多。
资源推荐
资源详情
资源评论
![gz~](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![dmg](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![iso](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/18077606/bg1.jpg)
Entwurf und Implementierung verteilter Lösungsansätze für
Capital Budgeting Probleme mit GLPK und Apache thrift
Development of a distributed system with Apache thrift
to solve Capital Budgeting Problems with GLPK
Bachelorarbeit
zur Erlangung des Grades Bachelor of Sc ience
an der
Hochschule Niederrhein
Fachbereich Elektrotechnik und Informatik
Studiengang Inform atik
vorgelegt von
Jochen Peters
xxxxxxx
Krefeld, den 10. September 2015
Prüfer: Prof. Dr. Jochen Rethmann
Zweitprüfer: Prof. Dr. Steffen Goebbels
![](https://csdnimg.cn/release/download_crawler_static/18077606/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/18077606/bg3.jpg)
Zusammenfassung
Das Toolkit glpk enthält Methoden der gemischt-ganzzahligen linearen Program-
mierung (MILP). Diese Methoden lassen sich zur Lösung von Capital Budgeting
Problemen (CBP) nutzen. Da glpk weder multithreaded fähig ist noch eine Vertei-
lung auf mehrere Rechner implementiert ist, kann es sein Potential auf heutigen
Computern und in vernetzten IT-Systemen nicht voll entfalten. Um bei der Lösung
von CBP mit kommerziellen Too lkits wie CPLEX und Guro bi mithalten zu kön-
nen, haben wir mit dem Verteilungs-Framework Apache thrift und der C-API von
glpk eine Möglichkeit geschaffen, um CBP auf beliebig viele Kerne und Rechner zu
verteilen. Durch Last-Balancierung und Berücksichtigung der Methoden der MILP
bei der Verteilung war es uns sogar möglich, die Verarbeitung um mehr als das
Vielfache der genutzten Prozessor-Kerne zu beschleunigen. Der „Branch-and-Cut“-
Algorithmus von glpk, mit dem primär gearbeitet wird, liefert bei einer ausgewogenen
Unterteilung in Teilprobleme, paralleler Verarbeitung und regelmäßigem Austausch
der bisher besten Lösung unter den Teilproblemen deutlich schneller eine Lösung,
als eine sequenzielle Verarbeitung der Teilprobleme.
Abstract
The toolkit glpk supports methods for mixed integer linear programming (MILP).
These methods solve Capital Budgeting Problems (CBP). Unfortunately, glpk does
not support any multithreading and there is no feature to distribute problems via
network connections. Today, this is a pitiable sight, because modern computer
systems are coupled by networks and support multi threading. To solve CBP with
glpk like commercial toolkits (CPLEX or Gurobi) we create a distributed system
with Apache thrift and t he C-API of glpk. Now, it is possible to use as many cores
in a network as you want. With a focus o n the MILP methods we implement a
load balancing and speed up the solving process in a multiplicative way. Sometimes
we have super-linear speedup with a small set of hardware. glpk primary uses the
"Branch-and-Cut" algorithm. With an intelligent splitting of problems, parallel
computing and distributing the actual best solution to all running processes we
solve CBP much faster than a sequential processing can do.
![](https://csdnimg.cn/release/download_crawler_static/18077606/bg4.jpg)
Eidesstattliche Erklärung
Name: Jochen Peters
Matrikelnr.: xxxxxxx
Titel: Entwurf und Implementierung verteilter Lösungsansätze für
Capital Budgeting Probleme mit GLPK und Apache thrift
Ich versichere durch meine Unterschrift, dass die vorliegende Arbeit ausschließlich
von mir verfasst wurde. Es wurden keine anderen als die von mir angegebenen Quel-
len und Hilfsmittel benutzt.
Die Arbeit besteht aus 50 Seiten.
Krefeld, den 10. September 2015
Unterschrift
![](https://csdnimg.cn/release/download_crawler_static/18077606/bg5.jpg)
INHALTSVERZEICHNIS
Inhaltsverzeichnis
Inhaltsverzeichnis 5
1 Motivation 6
2 Problemstellung 8
3 Lösung 9
3.1 glpk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Apache thrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 Architektur 17
4.1 Farmer/Worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Last-Balancierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 „Quasi globale“ bisher beste Lösung . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Probleme der Kopplung einzelner Elemente . . . . . . . . . . . . . . . . . . 22
5 Ergebnisse 23
5.1 Einflüsse der Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.1 Mehrfachmessung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.2 Einfluss der Vorbelegung . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.3 Größe der neuen Vorbelegung . . . . . . . . . . . . . . . . . . . . . 28
5.1.4 Zu kleines Zeitlimit . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.5 Modifikatio n des Zeitlimits . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.6 Aufheben des Zeitlimits . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.7 Einfluss des Synchronisierungs-Intervalls . . . . . . . . . . . . . . . 32
5.1.8 Zu früher Presolver . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.9 Vorsortierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.10 Kein Abgleich der unteren Grenze . . . . . . . . . . . . . . . . . . . 35
5.1.11 Transport der oberen Grenze in neue Jobs . . . . . . . . . . . . . . 35
5.1.12 Abschaltung des Presolvers . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Entwicklungs-Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 Fazit 40
6.1 Schwachstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Aussicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 Anhang 44
7.1 Die Chu-and-Beasley Test-Instanzen . . . . . . . . . . . . . . . . . . . . . 44
7.2 Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3 Lizenzhinweise und Quellcode . . . . . . . . . . . . . . . . . . . . . . . . . 47
Abbildungsverzeichnis 48
Literaturverzeichnis 49
5
剩余49页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/418a9d40d7dd4f2aacafda29a9fc93ec_weixin_42127748.jpg!1)
李川雨
- 粉丝: 33
- 资源: 4578
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)