matlab Yalmip 求解电力系统鲁棒调度问题例子
2017-02-21 10:52
477 查看
idxcg = [1:3]; idxwg = [4:5]; ncg = 3; nwg = 2; %%定义Yalmip 需要的变量 sdpvar cg(3,1) sdpvar dwg(2,1) %% 带有名字的优化问题约束条件 P_balance = [sum(bus(:,3))/100 == sum([cg;prewg]) ]; Icg = sparse(gen(idxcg,1),1:ncg,ones(ncg,1),nb,ncg); Iwg = sparse(gen(idxwg,1),1:nwg,ones(nwg,1),nb,nwg); % Dcg = repmat([0.3;0.4;0.3],1,2);%distribution factor Dcg = repmat([0.18; 0.03; 0.79],1,2);%distribution factor Thermal_Limit = [dis_fac*(Icg*(cg+(-Dcg*dwg))+Iwg*(prewg+dwg) - bus(:,3)/100)<=branch(:,6)/100]; Pcg_limit = [gen(idxcg,10)/100<= cg+(-Dcg*dwg) <= gen(idxcg,9)/100];%uncertain([Pg wg1 wg2]) %get convex hull for uncertainty data [abc,bnd] =pair_counvex_hull_example();% pair_convex_hull1(); % if 0 Pwg_limit0 = [bnd(:,1)<= dwg <= bnd(:,2),uncertain(dwg)]; % else % Pwg_limit = [gen(3:4,10)/100<= wg <= gen(3:4,9)/100]; %%不确定集合的表述 Pwg_limit1 = [abc(:,1:2) * dwg + abc(:,3) <= 0,uncertain(dwg)]; % end % cons = [ P_balance + Pcg_limit + Pwg_limit0 ]; %%综合约束条件 cons = [P_balance + Pcg_limit + Pwg_limit0 + Thermal_Limit ]; %%目标函数 objective = sum(gencost(idxcg,5).*[cg].^2+gencost(idxcg,6).*[cg]+gencost(idxcg,7)); %% 执行优化计算 sol1 = optimize(cons,objective) % sol = optimize(cons,objective,sdpsettings('robust.lplp','duality')) %%提取具体数值 vcg = value(cg) % vwg = value(wg) if sol1.problem == 0 valobj1 = value(objective); else valobj1 = 0; end
相关文章推荐
- MATLAB求解非线性规划问题的例子
- 求解Matlab微分方程组中的时移问题!!!
- 近似算法求解调度问题
- matlab cell无法扩展的问题求解:
- 使用MATLAB进行一次和二次规划问题求解
- 四阶龙格-库塔法求解常微分方程的初值问题-matlab通用程序
- [MATLAB]Matlab求解积分问题探讨
- Matlab和LINGO求解线性规划问题
- Matlab电路原理应用——求解原本要求用电源等效变换解决的问题
- 利用Matlab以蚁群算法(Ant Colony Algorithm)求解不闭合的旅行商问题(Travelling Salesman Problem, TSP)并进行可视化
- matlab求解线性规划问题
- 使用 Matlab 的 bvp4c 求解边值问题
- 线性规划问题的matlab求解
- Matlab 遗传算法求解TSP问题
- 蚁群算法求解TSP问题的matlab程序
- 求解SDP问题—使用SeDuMi和YALMIP
- Matlab 枚举法求解八皇后问题
- 非线性规划问题的matlab求解
- 用递归法:设计算法求解汉诺塔问题,并编程实现。 (1) Hanoi(汉诺)塔问题分析 这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3个座 A,B,C
- 用贪心算法近似求解 Loading Balance 问题(作业调度的负载均衡)