Decomposition
Decomposition Problem
Introduction
Decomposition is a approach to solving a problem by breaking it up into smaller ones and solving each of smaller ones separately, or sequentially.
If the problem is separable, i.e., the objective is comprised by the sum of functions of sub-vector
The core idea of decomposition is: using effective methods to solve sub-problems and combining the results in such a way as to solve the larger problem. Two techniques will be introduced in the following.
Primal decomposition
unconstrainted case
where
which is called master problem.
A decomposition method solve the original problem by a iterative method, such as the subgradient method.
Dual decomposition
consistency constraint
The Lagrangian is
The dual function is
where
The dual problem is
where
Decomposition with constraints
where the last constraint complicates the problem, called complicating constraints.
Primal decomposition
Assigning a fixed amount of resource
Let
- Solve the subproblem
, to find an optimal and - Solve the subproblem
, to find an optimal and
Dual decomposition
The partial Lagrangian is
The problem is the same with
The more complicated decomposition can be represented by a hypergraph or net.
There are three subproblems and each link represent the coupling variable or constraint between the adjoined subproblems.
How primal and dual decomposition work:
- In primal decomposition, each hyperedge or net has a single variable associated with it. Each subproblem is optimized separately, using the public variable values (asserted) on the nets. Each subproblem produces a subgradient associated with each net it is adjacent to. These are combined to update the variable value on the net, hopefully in such a way that convergence to (global) optimality occurs.
- In dual decomposition, each subproblem has its own private copy of the public variables on the nets it is adjacent to, as well as an associated price vector(dual variable
). The subsystems use these prices to optimize their local variables, including the local copies of public variables. The public variables on each net are then compared, and the prices are updated, hopefully in a way that brings the local copies of public variables into consistency (and therefore also optimality).
General framework for decomposition structures
There are
The whole problem is
Primal Decomposition
In primal decomposition, at each iteration we fix the vector z of net variables, and we fix the
public variables as
To find a subgradient of
The entire process is
- Solve subproblems to find optimal
, and
Dual Decomposition
The partial Lagrangian is
the subproblem is
Let
where the last constraint comes from
We can solve this dual decomposition master problem using a projected subgradient method. Projection onto the feasible set
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异