DantzigWolfe decomposition , DantzigWolfe 算法解决特殊的线性规划问题,它是 George Dantzig 和 Phil Wolfe 在 1960 年建立起来和并得到发展,依靠 Delayed Column Generation 算法改进为了解决大规模线性规划问题。在重复使用单纯形法 (Simplex Algorithm) 解决大多数的线性规划问题,发现很多的列 ( 变量 ) 是多余的,基于这样的事实,提出主要问题包含最少的活动列 ( 基本矩阵 basis) ,然后使用子问题去生成列 ( 变量 ) 填入基本矩阵来改进目标函数。 1. 需要条件 线性规划的约束矩阵必须具有特殊的形式,约束集合必须被定义为 connecting, coupling, complicating 三种约束且约束系数不为零。剩下约束被建立为系数不为零的独立子矩阵,简单的描述: D1 D2 Dn F1 - - - - F2 - - - - Fn - 其中 D 矩阵表示的是耦合约束关系而 F 表示独立的子矩阵。 2. 算法的步骤 1. Starting with a feasible solution to the reduced master program, formulate new objective functions for each subproblem such that the subproblems will offer solutions that improve the current objective of the master program. 1. 建立已简化矩阵的可行解,公式化子问题的目标函数,子问题的解会改善主规划的目标; 2. Subproblems are re-solved given their new objective functions. An optimal value for each subproblem is offered to the master program. 2. 重新计算子问题新的目标函数,每一个子问题的解提供给主规划; 3. The master program incorporates one or all of the new columns generated by the solutions to the subproblems based on those columns' respective ability to improve the original problem's objective. 3. 主规划集成 1 个或者所有新列,这些新列由子问题根据自身优化生成的解,从而来改进初始主规划的目标函数。 4. Master program performs x iterations of the simplex algorithm, where x is the number of columns incorporated. 4. 主规划重复 x 的单纯形法的迭代, x 表示的列已经被集成进去了为止; 5. If objective is improved, goto step 1. Else, continue. 5. 主规划的目标函数被优化,否则继续循环; 6. The master program cannot be further improved by any new columns from the subproblems, thus return. 6. 通过改进各个子问题的目标解,主规划还不能被继续优化,那么返回。 3. 应用 DantzigWolfe decomposition 在数学建模语言 AMPL 、 GAMS 得到过实现,该算法如果子问题目标解完全独立,那么可以对子问题平行同时处理。 参考文献 : George B. Dantzig and Philip Wolfe. Decomposition Principle for Linear Programs. Operations Research 8 (1960) pp 101111 wiki英文介绍: http://en.wikipedia.org/wiki/Dantzig%E2%80%93Wolfe_decomposition
MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用 MATLAB,您可以较使用传统的编程语言(如 C、C++ 和 Fortran)更快地解决技术计算问题。 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。 MATLAB 提供了很多用于记录和分享工作成果的功能。可以将您的 MATLAB 代码与其他语言和应用程序集成,来分发您的 MATLAB 算法和应用。 主要功能 此高级语言可用于技术计算 此开发环境可对代码、文件和数据进行管理 交互式工具可以按迭代的方式探查、设计及求解问题 数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等 二维和三维图形函数可用于可视化数据 各种工具可用于构建自定义的图形用户界面 各种函数可将基于 MATLAB 的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成 Release 2009b 的新功能 Release 2009b 包括 MATLAB 和 Simulink的若干新功能,以及对其它 83 款产品的更新和缺陷修复。R2009b 增加了对 64-位 Mac 平台的支持。已经购买 MathWorks 软件维护服务的用户可以下载产品更新。R2009b 也提供了增强的许可中心功能。许可中心是用于激活软件以及管理许可证和用户信息的一个在线工具。 MATLAB 产品系列的新功能包括: 重新设计的帮助浏览器,支持从 MATLAB 直接访问 MATLAB Central 文件交换,及其它桌面增强功能 扩展了对 MATLAB 和 Image Processing Toolbox 中函数的多核支持,以及对 Statistics Toolbox 中函数的并行支持 Parallel Computing Toolbox 的全新界面,可访问和处理集群上的分布式数组 Image Processing Toolbox 支持处理任意大型图像文件 Mapping Toolbox 支持从网络地图服务 (WMS) 服务器搜索和检索地理数据集 在 Fixed-Point Toolbox 进行全局设置,以简化带有使用定点变量的运算 Simulink 产品系列的新功能包括: Simulink、Signal Processing Blockset 和嵌入式 MATLAB中支持用于仿真和代码生成的可变维度信号和数据 可用于管理 Simulink 和 Real-Time Workshop 设计方案的模型变量 可立即在Simulink 中使用的PID 控制器,以及 Simulink Control Design 的自动调优 减少了 Real-Time Workshop 的数据副本,可自定义矩阵运算以用于生成嵌入式信号处理代码 Simulink Verification and Validation 中用于管理和部署配置及自定义检查的Model Advisor Configuration Editor (模型顾问配置编辑器) 新的交互式编译报告,可分析数组大小和其它嵌入式 MATLAB 代码特性 System Requirements Windows Operating Systems 32-bit MathWorks Products Windows XP Service Pack 2 or 3 Windows Server 2003 Service Pack 2 or R2 Windows Vista Service Pack 1 or 2 Windows Server 2008 Processors Intel Pentium 4 and above Intel Celeron** Intel Xeon Intel Core Intel Atom** AMD Athlon 64** AMD Opteron AMD Sempron** Disk Space 680 MB* (MATLAB only) RAM 512 MB (At least 1024 MB recommended) 64-bit MathWorks Products Windows XP x64 Service Pack 2 Windows Server 2003 x64 Service Pack 2 or R2 Windows Vista Service Pack 1 or 2 Windows Server 2008 Processors Intel Pentium 4 and above Intel Celeron** Intel Xeon Intel Core AMD64 Disk Space 680 MB* (MATLAB only) RAM 1024 MB (At least 2048 MB recommended) ====================== * Disk space requirement varies depending on size of partition. The MATLAB installer will inform you of the hard disk space requirement for your particular partition. Installation size will be determined by the installer and can vary for NTFS and FAT formats. ** Processor must support SSE2 instruction set. Graphics 16-, 24-, or 32-bit OpenGL capable graphics adapter License Management Some license types require a license server running FLEXnet 11.6.1, which is provided by the MathWorks installer. TCP/IP is required on all platforms when using a license server. Additional Requirements Microsoft Word 2002, 2003, or 2007 is required to run the Notebook tool in MATLAB. Microsoft Excel 2002, 2003, or 2007 is required to run MATLAB Builder EX (for Microsoft Excel) and Spreadsheet Link EX (for Microsoft Excel). Matlab现在每半年发布一个版本,a为上半年版本,b为下半年版本。 下载地址: http://www.verycd.com/topics/2768208/ 迅雷、脱兔、vagaa等吸血客户端用户无法下载