双层优化入门(1)—基本原理与求解方法(附matlab代码)

14 篇文章 146 订阅
订阅专栏
文章介绍了双层优化问题的概念、特点和一个简单的线性双层优化问题示例。通过迭代法求解过程中遇到无法收敛的情况,进而引入KKT条件将双层优化转换为单层问题以找到解决方案。对于线性双层优化,通过探讨不同的KKT乘数情况,展示了如何构建和求解单层优化模型。
摘要由CSDN通过智能技术生成

1.介绍

        双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年在经济学相关研究中提出,因此也被称为Stackelberg问题。

        双层规划问题一般具有层次性、独立性、冲突性、优先性和自主性等特点:

        1)层次性

        优化时是分层管理的形式,下层优化服从上层优化,但下层优化有相对的自主权。

        2)独立性

        各层决策者各自控制一部分决策变量,以优化各自的目标。

        3)冲突性

        各层决策者有目标函数各不相同,且这些目标往往是相互矛盾的。

        4)优先性

        上层决策者优先做出决策,下层决策者在选择策略时,不能改变上层的决策。
        5)自主性

        上层的决策可能影响下层的行为,因而部分地影响下层目标的实现,但上层不能完全控制下层的选择行为,在上层决策允许范围内,下层有自主决策权。
        按照上下层优化的形式不同又可以分为线性双层优化以及非线性双层优化问题。当双层优化问题中所有目标函数和约束条件均为线性时,即为线性双层优化,否则就是非线性双层优化问题。其中双层优化的基本形式可描述为:

        其中,x和y是上层优化的决策变量,但x在下层优化中是参数。所以,双层优化模型是一个优化问题受制于另一个优化问题的模型。

2.问题分析

        下面是一个简单的线性双层优化问题:

        上下层优化的目标函数和约束条件均为线性,该问题为线性双层优化问题,
        为说明原理,按照上下层优化迭代的方式进行求解。
        1)第一次迭代
        首先不考虑下层优化的决策,上层优化求出最优解为 x1*=6 y1=8 ,上层最优目标函数为-22 ,将 x1*=6 带入下层优化中,求出 y1*=12 ,下层最优目标函数为-12
        2)第二次迭代
        将 y1*=12 带入上层优化中,此时上层优化的两个约束条件互相冲突,上层优化无最优解。 迭代无法收敛,是否意味着这个双层优化问题无解?很明显不是的,实际上这个问题存在最优解 x=8 y=6 ,上层优化最优目标函数值为 -20

matlab代码:

%% 清空
clc
clear
close all
warning off
%% 采用迭代方法进行求解
x=sdpvar(1);
y=sdpvar(1);
Constraints1=[2*x-3*y >= -12 , x+y <= 14 , x>=0 , y>=0];
objective1=-x-2*y;
objective2=-y;
ops=sdpsettings('verbose', 0 , 'solver', 'cplex');
result=optimize(Constraints1,objective1,ops);
if result.problem==0
    disp(['第一次迭代最优解:x=',num2str(value(x)),',y=',num2str(value(y))])
    disp(['第一次迭代最优函数值=',num2str(value(objective1))])
end
x_dot=zeros(1,100);
y_dot=zeros(1,100);
x_dot(1)=value(x);
for k=1:10
    Constraints2=[-3*x+y <= -3 , 3*x+y <= 30 , x==x_dot(k) , x>=0 , y>=0];
    result=optimize(Constraints2,objective2,ops);
    y_dot(k)=value(y);
    Constraints1=[2*x-3*y >= -12 , x+y <= 14 , y==y_dot(k) , x>=0 , y>=0];
    result1=optimize(Constraints1,objective1,ops);
    x_dot(k+1)=value(x);
    if result1.problem || result.problem
        disp('迭代无法收敛')
        break
    end
end

        运行结果:

 3.双层优化求解方法

        上面的问题是一个小规模线性双层优化问题,通过迭代也无法求出问题的解,实际我们要解决的问题一般都不会这么简单,通常规模比较大,或者模型中存在非线性,一般来说很难通过简单的迭代法进行求解,需要考虑其他方法。实际上,双层优化问题是一个 NP 难问题,通常采用的方式是利用 KKT(Karush-Kuhn-Tucker) 条件将双层优化转换为单层优化问题。假设一个优化问题是如下的形式:

定义拉格朗日函数为:

        其中,λ j g j( x ) = 0 对应的拉格朗日乘数,  uk是hk(x)<=0   对应的拉格朗日乘数,那么该优化问题取得最优解的必要条件( 也就是 KKT 条件 ) 为:

以上面提到的线性双层优化问题为例,其下层优化的拉格朗日函数为: 

KKT 方程组如下:

将下层优化的 KKT 条件添加到上层优化问题中,就将双层优化问题转换为了单层优化问题:

        对于该问题,可以分三种情况讨论:

        1) u1 =0,模型可以简化为:

        2) u1∈(0,1)(1,+∞),模型可以简化为:

         3) u1=1,模型可以简化为:

matlab代码: 

%% 清空
clc
clear
close all
warning off
%% u1=0
x=sdpvar(1);
y=sdpvar(1);
Constraints1=[2*x-3*y >= -12 , x+y <= 14 , x>=0 , y>=0 , -3*x+y <= -3 , 3*x+y == 30 ,];
objective=-x-2*y;
ops=sdpsettings('verbose', 0 , 'solver', 'cplex');
result1=optimize(Constraints1,objective,ops);
disp('***********u1=0时的最优解和最优函数值************')
if result1.problem==0
    disp(['最优解:x=',num2str(value(x)),',y=',num2str(value(y))])
    disp(['最优函数值=',num2str(value(objective))])
else
    disp('无最优解')
end

%% u1∈(0,1)∪(1,+∞)
x=sdpvar(1);
y=sdpvar(1);
Constraints1=[2*x-3*y >= -12 , x+y <= 14 , x>=0 , y>=0 , -3*x+y == -3 , 3*x+y == 30 ,];
objective=-x-2*y;
ops=sdpsettings('verbose', 0 , 'solver', 'cplex');
result2=optimize(Constraints1,objective,ops);
disp('****u1∈(0,1)∪(1,+∞)时的最优解和最优函数值*****')
if result2.problem==0
    disp(['最优解:x=',num2str(value(x)),',y=',num2str(value(y))])
    disp(['最优函数值=',num2str(value(objective))])
else
    disp('无最优解')
end

%% u1=1
x=sdpvar(1);
y=sdpvar(1);
Constraints1=[2*x-3*y >= -12 , x+y <= 14 , x>=0 , y>=0 , -3*x+y == -3 , 3*x+y <= 30 ,];
objective=-x-2*y;
ops=sdpsettings('verbose', 0 , 'solver', 'cplex');
result2=optimize(Constraints1,objective,ops);
disp('***********u1=1时的最优解和最优函数值************')
if result2.problem==0
    disp(['最优解:x=',num2str(value(x)),',y=',num2str(value(y))])
    disp(['最优函数值=',num2str(value(objective))])
else
    disp('无最优解')
end

运行结果:

        这样就完成了对上述简单线性双层优化问题的求解。通过下层优化的KKT条件将双层优化转换为单层优化是最常用的方法,但不是唯一的方法,后面我将继续更新这个系列,和大家一起学习双层优化问题。

参考文献:

[1] Bilevel Programming Problems

完整代码和相应资料可以从这里下载:

双层优化入门资料-基本原理和求解方法

双层规划若干问题的解法
05-19
双层规划若干问题的解法 需要的下 双层规划
双层优化入门(2)-基于yalmip的双层优化求解
05-10
压缩包里提供了基于yalmip求解双层优化问题的原理说明及相关代码。 包括了下面两个函数的使用: 1.KKT函数 通过调用yalmip工具箱中的KKT函数,可以直接求出优化问题的KKT条件,省去自己手动写的步骤。 该命令派生在变量 z 中参数化的线性或二次规划的 KKT 系统。第二个输出包含有关所分析问题、原始变量和对偶变量以及原始变量和对偶变量的可能派生边界的信息。 KKT系统将包含一个互补约束,YALMIP可以使用整数规划或全局非线性规划来解决该约束。这两种方法都需要对偶变量的边界。默认情况下,YALMIP 尝试派生这些边界并将它们添加到 KKT 系统中。如果此操作不成功 2.solvebilevel函数 solvebilevel是yalmip工具箱内置的求解双层优化问题的函数。也就是通过这个函数,不需要咱手动写KKT条件,也不需要使用KKT函数,直接把上、下层优化的目标函数、约束条件往里面一放,就能求出结果。
基于双层优化的微电网系统规划设计方法Matlab代码实现)
Yan_she_He的博客
07-18 626
微电网系统可将多种类型的分布式发电单元组合在一起,有效发挥单一能源系统的优点,实现多种能源互补,提高整个微电网系统的效率、能源利用率和供电可靠性。根据其是否与常规电网相连接,微电网可以分为并网型微电网和独立型微电网[1]。微电网接入配电网并网运行,不仅可以充分利用微电网内部的绿色可再生能源,还可以提高整个电网的安全性,是中国建成智能电网的重要环节。同时,独立型微电网系统是解决偏远地区和海岛供电的有效手段之一[2-3]。规划设计是微电网系统核心技术体系之一,它直接关系到系统经济性、环保性和可靠性[4]。
基于智能优化算法双层优化求解(matlab代码)
05-12
除了数学规划方法之外,还可采用智能优化算法求解双层优化问题,一般在上层优化中采用智能优化算法,下层优化使用数学规划方法;也可以在上下层优化中都采用智能优化算法,这篇博客将进行详细介绍。算例依旧使用上面两篇博客中的线性双层优化问题,由于这个优化问题比较简单,我们采用最基础的粒子群算法进行求解。​ 资源包括三个部分: 1.基础粒子群算法matlab代码 2.采用粒子群算法求解带约束的优化问题matlab代码 3.采用粒子群算法求解双层优化问题的matlab代码 智能优化算法无法避免的问题,即使是一个非常简单的目标函数,求出的结果也无法保证是全局最优,那么当目标函数变复杂时,情况将会更糟糕。现在对智能优化算法的研究非常多,各种动植物园算法、各种改进都层出不穷,但还是无法从根本上解决算法无法保证全局收敛的问题。         所以,只有在数学模型比较复杂,非线性条件很多,而且对结果的误差是可以接受的情况下,才建议使用智能优化算法进行求解
基于yalmip的双层优化求解matlab代码+仿真结果和运行方法.zip
05-23
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信
双层优化入门(2)—基于yalmip的双层优化求解(matlab代码)
配电网和matlab的博客
05-10 1万+
​上一篇博客介绍了双层优化基本原理和使用KKT条件求解双层优化方法,这篇博客将介绍使用yalmip的双层优化问题的求解方法。 1.KKT函数 通过调用yalmip工具箱中的KKT函数,可以直接求出优化问题的KKT条件,省去自己手动写的步骤。 2.solvebilevel函数 solvebilevel是yalmip工具箱内置的求解双层优化问题的函数。也就是通过这个函数,不需要咱手动写KKT条件,也不需要使用KKT函数,直接把上、下层优化的目标函数、约束条件往里面一放,就能求出结果。 ​
双层优化算法双层优化算法-matlab开发
05-29
解决非线性双层规划问题的算法
双层优化入门(3)—基于智能优化算法求解方法(matlab代码)
配电网和matlab的博客
05-12 7356
除了数学规划方法之外,还可采用智能优化算法求解双层优化问题,一般在上层优化中采用智能优化算法,下层优化使用数学规划方法;也可以在上下层优化中都采用智能优化算法,这篇博客将进行详细介绍。算例依旧使用上面两篇博客中的线性双层优化问题,由于这个优化问题比较简单,我们采用最基础的粒子群算法进行求解。​。
双层优化模型【简述】
热门推荐
weixin_45713992的博客
05-07 1万+
1.模型理解 双层规划问题就是指这种优化问题:目标函数中的一组变量被约束为另一优化问题的最优解;更简单来说,就是一个优化问题问题的参数受限于另一个优化问题,这两个问题相互影响。 2.数学定义 公式定义: minθ,wθF(wθ,θ)suchthatwθ∈minwL(w,θ) min_{\theta,w_\theta}F(w_\theta,\theta) \quad such \quad that \quad w_\theta \in min_wL(w,\theta) minθ,wθ​​F(wθ​,θ)s
Bilevel Optimization
u013613100的博客
05-14 3138
Bilevel Optimization会分成Upper Level(f_UP(x))和Lower Level(f_L(y)),注意在拆开的时候约束基本上是完全拆开的。 Lower Level得到的最优解y*是包含x的参数方程; Upper Level需要把y*代入,注意此事的问题就有所变化,不再是原本形式的问题,需要对代入后的问题进行求解。 ...
基于储能电站服务的冷热电多微网系统双层优化配置(Matlab代码实现)
weixin_46039719的博客
11-27 780
综合以上研究现状,目前共享储能的研究仍处于初始阶段,现有的基础集中在共享储能服务运营商运行决策和商业模式上,用户负荷类型单一,对用户使用共享储能的充放电行为和用户与共享储能间费用结算分析较少,同时具体将共享储能应用于冷热电联供型多微网系统优化配置的相关研究较少。储能电站调控中心根据服务协议实现各用户各 时段储能充放电功率计划和充放电功率计量等,将需 要储能充电服务的用户通过共享储能电站将剩余电 能输送给需要储能放电服务的用户。3)采用双层模型建立同时综合考虑储能电站运营商和多微网系统利益的储能决策。
双层优化入门资料-基本原理求解方法【含Matlab源码】【Matlab精品】..zip
最新发布
08-01
双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年在经济学相关研究中提出,因此也被称为Stackelberg问题。双层规划问题一般具有层次性、独立性、冲突性、优先性和自主性等特点。 对于小规模线性双层优化问题,通过迭代也无法求出问题的解,实际我们要解决的问题一般都不会这么简单,通常规模比较大,或者模型中存在非线性,一般来说很难通过简单的迭代法进行求解,需要考虑其他方法。实际上,双层优化问题是一个 NP 难问题,通常采用的方式是利用 KKT(Karush-Kuhn-Tucker)条件将双层优化转换为单层优化问题。 本文介绍了双层优化的原理与求解方法,详细介绍了KKT条件在双层优化中的使用方法,并提供了相应的matlab代码供参考学习。
双层优化入门资料-基本原理求解方【含Matlab源码】【Matlab精品】..zip
08-01
双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年在经济学相关研究中提出,因此也被称为Stackelberg问题。双层规划问题一般具有层次性、独立性、冲突性、优先性和自主性等特点。 对于小规模线性双层优化问题,通过迭代也无法求出问题的解,实际我们要解决的问题一般都不会这么简单,通常规模比较大,或者模型中存在非线性,一般来说很难通过简单的迭代法进行求解,需要考虑其他方法。实际上,双层优化问题是一个 NP 难问题,通常采用的方式是利用 KKT(Karush-Kuhn-Tucker)条件将双层优化转换为单层优化问题。 本文介绍了双层优化的原理与求解方法,详细介绍了KKT条件在双层优化中的使用方法,并提供了相应的matlab代码供参考学习。
BilevelOptimization.jl:基于JuMP的工具箱,用于解决双层优化问题
02-03
BilevelOptimization.jl:基于JuMP的工具箱,用于解决双层优化问题
利用matlab进行双目标优化
03-22
这个是一个关于双目标优化的内容.大家可以看一下!
bilevel optimization using approximations.zip
01-19
双层优化问题是一类具有挑战性的优化问题,包含两个层次的优化任务。在这些问题中,下层问题的最优解成为上层问题的可能可行候选。这样的要求使得优化问题难以解决,并使研究人员忙于设计能够有效处理该问题的方法。尽管付出了努力,但几乎没有任何有效的方法能够处理复杂的双层问题。本文介绍了基于最优下层变量相对于上层变量的二次近似的双层进化算法。该方法能够在相对较少的函数求值中处理具有不同复杂性的两层问题。来自经典优化的思想已经与进化方法混合,为一大类双层问题生成了一个有效的优化算法。在两组测试问题上对算法的性能进行了评估。第一组是最近提出的SMD测试集,其中包含复杂性可控的问题,第二组包含从文献中收集的标准测试问题。已经将所提出的方法与三个基准进行了比较,并且观察到性能增益是显著的。
双层优化入门资料-基本原理求解方法
05-03
双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年...本文介绍了双层优化的原理与求解方法,详细介绍了KKT条件在双层优化中的使用方法,并提供了相应的matlab代码供参考学习。
Investigating Bi-Level Optimization for Learning and Vision from a Unified Perspective: A Survey and
dawnyi_yang的博客
06-15 731
文章首先从双层优化的角度统一表示了超参数优化、多任务和元学习等复杂学习和视觉问题,建立了一个基于最佳响应的单层重构和一个统一的算法框架,来制定一个基于梯度的双层优化方法,最后讨论了该框架的潜力和未来研究方向。...
双层多目标优化
chuchene的博客
01-05 2178
双层多目标优化
双层规划模型的遗传算法求解matlab源码-双层规划模型的遗传算法求解
07-28
双层规划模型是一种复杂的优化问题,在实际应用中往往需要借助求解算法来寻找最优解。遗传算法是一种启发式的优化算法,通过模拟自然界的进化规律,通过交叉、变异和选择等操作来迭代地搜索可行解空间,寻找问题的最优解。 下面是一个使用Matlab实现双层规划模型的遗传算法求解的简单示例代码: ```matlab function [x, y, obj] = genetic_algorithm() % 定义双层规划模型的目标函数和约束条件 f = @(x, y) x.*x + 4*y.*y; g1 = @(x, y) x + 2*y - 4; g2 = @(x, y) x + y - 3; % 定义遗传算法的参数 population_size = 30; % 种群大小 mutation_rate = 0.01; % 变异率 crossover_rate = 0.8; % 交叉率 max_generations = 100; % 最大迭代次数 % 初始化种群 population = rand(2, population_size) * 10; % 开始迭代 for generation = 1:max_generations % 计算种群中每个个体的适应度值 fitness = f(population(1,:), population(2,:)); % 执行选择操作 selection = select(population, fitness); % 执行交叉操作 crossover = crossover(selection, crossover_rate); % 执行变异操作 mutation = mutate(crossover, mutation_rate); % 更新种群 population = mutation; end % 计算最优解 x = population(1,1); y = population(2,1); obj = f(x, y); end ``` 以上代码只是一个简单的示例,实际的双层规划问题可能需要根据具体情况进行修改和优化。在实际应用中,还可能需要引入更多的算法技巧和优化方法,如种群大小的动态调整、精英保留策略和多次迭代等,以获得更好的求解结果。
写文章

热门文章

  • 双层优化入门(1)—基本原理与求解方法(附matlab代码) 32249
  • matlab使用教程(63)—修改坐标轴范围、刻度和标签 29670
  • 牛顿法和P-Q分解法IEEE14系统潮流计算(附matlab代码) 28936
  • (含源码)麻雀搜索算法(SSA)的原理和matlab实现 20051
  • Yalmip入门教程(1)-入门学习 19343

分类专栏

  • 电气期刊论文复现 57篇
  • Matlab智能算法的数学建模 29篇
  • matlab机器学习-神经网络入门 25篇
  • 智能优化算法 26篇
  • 双层优化入门 14篇
  • 电力系统运行优化 50篇
  • 开源代码分享 34篇
  • 从0开始学Matlab 101篇
  • Yalmip工具箱使用教程 11篇
  • 鲁棒优化入门 18篇
  • 配电网可靠性评估 5篇
  • 相见恨晚的Matlab使用小技巧 6篇

最新评论

  • 多目标遗传算法(NSGAⅢ)的原理和matlab实现

    weixin_57283124: 参考线那里,M个优化目标参考点不是M个吧

  • 鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

    一双狗狗眼: 博主大大接关于两阶段鲁棒优化的付费咨询吗?做课题的过程中遇到很多疑惑的地方,想针对性的问一问表情包

  • 鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

    一双狗狗眼: 博主大大接关于两阶段鲁棒优化的付费咨询吗?做课题的过程中遇到很多疑惑的地方,想针对性的问一问表情包

  • 基于蚁群算法的二维路径规划(matlab实现)

    2401_85745289: 没有找到诶

  • 基于蚁群算法的二维路径规划(matlab实现)

    2401_85745289: barrier在哪啊

最新文章

  • matlab使用教程(95)—显示地理数据
  • (文章复现)低温环境下考虑电池寿命的微电网优化调度
  • matlab使用教程(94)—显示复杂三维对象
2024
06月 13篇
05月 40篇
04月 48篇
03月 2篇
2023年136篇
2022年14篇

目录

目录

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王网站seo优化教程惠州行业网站优化收费网站优化 站长工具优化网站导航的秘密如何优化网站65金手指靠谱重庆铜梁服务好的网站优化达州优化网站价格伊川网站优化找哪家宜昌工厂网站优化怎么做零部件网站seo优化费用余杭区网站排名优化公司巩义外贸网站优化报价综合网站优化方法网站的优化可以火7星细心珠海网站优化效果免费网站搜索引擎优化高港区网站优化关键词江都企业网站优化价格兰州排名优化网站网站推广优化tk扌云速捷济南seo网站排名优化网站关键词优化效果好吗权威的网站优化推广一站式服务楚雄网站优化渠道优化网站如何选择关键词平顶山网站推广优化价格多少网站各个页面分析与优化做网站优化的方面邯郸网站优化哪儿好鹤壁外贸网站优化地址香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化