亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? auction.m

?? 電力系統(tǒng)行業(yè)應(yīng)用軟件
?? M
字號(hào):
function [cq, cp] = auction(bus, gen, gencost, q, p, max_p, auction_type, mpopt)%AUCTION  Clear auction based on OPF results.%   [cq, cp] = auction(bus, gen, gencost, q, p, max_p, auction_type, mpopt)%   Clears a set of bids and offers based on the results of an OPF, where the%   pricing is adjusted for network losses and binding constraints. There are%   8 types of auctions implemented here, specified by auction_type.%%      0 - discriminative pricing (price equal to offer or bid)%      1 - last accepted offer auction%      2 - first rejected offer auction%      3 - last accepted bid auction%      4 - first rejected bid auction%      5 - first price auction (marginal unit, offer or bid, sets the price)%      6 - second price auction (if offer is marginal, price set by%             min(FRO,LAB), else max(FRB,LAO)%      7 - split the difference pricing (set by last accepted offer & bid)%      8 - LAO sets seller price, LAB sets buyer price%%   Cleared offer prices (but not bid prices) are clipped to max_p.%   MATPOWER%   $Id: auction.m,v 1.10 2005/01/25 14:43:56 ray Exp $%   by Ray Zimmerman, PSERC Cornell%   Copyright (c) 1996-2004 by Power System Engineering Research Center (PSERC)%   See http://www.pserc.cornell.edu/matpower/ for more info.%%-----  initialization  -----%% default parametersif nargin < 8    mpopt = mpoption;       %% use default options    if nargin < 7        auction_type = 1;       %% use 1st price by default    endend%% optionsverbose = mpopt(31);if have_fcn('minopf')    zero_tol = 1e-5;else    zero_tol = 0.1;     %% fmincon is SO bad with prices that it is                        %% NOT recommended for use with auction.mendbig_num = 1e6;%% define named indices into data matrices[PQ, PV, REF, NONE, BUS_I, BUS_TYPE, PD, QD, GS, BS, BUS_AREA, VM, ...    VA, BASE_KV, ZONE, VMAX, VMIN, LAM_P, LAM_Q, MU_VMAX, MU_VMIN] = idx_bus;[GEN_BUS, PG, QG, QMAX, QMIN, VG, MBASE, ...    GEN_STATUS, PMAX, PMIN, MU_PMAX, MU_PMIN, MU_QMAX, MU_QMIN] = idx_gen;[AREA_I, PRICE_REF_BUS] = idx_area;%% initialize some stuff[ng, np] = size(q);cq      = zeros(size(q));                   %% cleared quantity offerscp      = zeros(size(p));                   %% cleared price offersin      = find(gen(:, GEN_STATUS) >= 0);    %% which gens are in the game (non-reserve)                                            %% (NOTE: can include some that are off-line)G       = find( ~isload(gen(in, :)) );   	%% real generatorsL       = find(  isload(gen(in, :)) );   	%% dispatchable loadsqin     = q(in, :);             %% reduce quantity offers ...pin     = p(in, :);             %% ... and price offers to those gens that are "in"cqin    = cq(in, :);cpin    = cp(in, :);%% determine cleared quantitiesPg = gen(in, PG);           %% active generation from generators that are "in"Pg(L) = -Pg(L);             %% make quantity positive for loadsaccept = zeros(size(qin));for i = 1:length(in)        %% generator in(i)    for j = 1:np                %% block j        if qin(i, j)                    %% ignore zero quantity offers            %% compute fraction of the block accepted ...            accept(i, j) = (Pg(i) - sum(qin(i, 1:j-1))) / qin(i, j);            %% ... clipped to the range [0, 1]  (i.e. 0-100%)            if accept(i, j) > 1                accept(i, j) = 1;            elseif accept(i, j) < 1.0e-5                accept(i, j) = 0;            end            cqin(i, j) = qin(i, j) * accept(i, j);        end    endendon  = (accept  > 0);off = (accept == 0);all_ones  = ones(size(pin));all_zeros = zeros(size(pin));%% get nodal marginal prices from OPFgbus    = gen(in, GEN_BUS);                     %% indices of buses w/genslamP    = diag(bus(gbus, LAM_P)) * all_ones;    %% real power priceslamQ    = diag(bus(gbus, LAM_Q)) * all_ones;    %% reactive power prices%% compute fudge factor for lamP to include price of bundled reactive powernz          = find( gen(L, PG) );pf          = all_zeros;                        %% for loads Q = pf * Ppf(L(nz))   = gen(L(nz), QG) ./ gen(L(nz), PG);Qfudge      = all_zeros;Qfudge(L,:) = diag(pf(L)) * lamQ(L,:);%%-----  compute shift matrices to add to lamP to get desired pricing  -----%% If refP is the lambda P at an arbitrary reference bus, and normP is%% the set of offers/bids normalized to the refbus location with bids%% normalized to include bundled reactive power as well, then%%     gap = normP - refP%% In other words, (gap + refP) can be used to form the normal%% non-locational bid/offer stack. And since refP is just a constant%% it doesn't actually change the shape of the stacks.gap = pin - lamP - Qfudge;DISC_P  = gap;DISC_PQ = gap + Qfudge;LAO = on(G,:) .* gap(G,:) - off(G,:) * big_num;LAO( find(LAO(:) > zero_tol) ) = -big_num;  %% don't let gens @ Pmin set priceLAO = max( LAO(:) ) * all_ones;FRO = off(G,:) .* gap(G,:) + on(G,:) * big_num;FRO = min( FRO(:) ) * all_ones;if ~isempty(L)    LAB_P = on(L,:) .* gap(L,:) + off(L,:) * big_num;    LAB_P = min( LAB_P(:) ) * all_ones;        FRB_P = off(L,:) .* gap(L,:) - on(L,:) * big_num;    FRB_P = max( FRB_P(:) ) * all_ones;else    LAB_P = big_num * all_ones;    FRB_P = LAB_P;endLAB_PQ = LAB_P + Qfudge;FRB_PQ = FRB_P + Qfudge;%% generator and load price shifts for different auction typesif auction_type == 0    G_shift = DISC_P;    L_shift = DISC_PQ;elseif auction_type == 1    G_shift = LAO;    L_shift = LAO + Qfudge;elseif auction_type == 2    G_shift = FRO;    L_shift = FRO + Qfudge;elseif auction_type == 3    G_shift = LAB_P;    L_shift = LAB_PQ;elseif auction_type == 4    G_shift = FRB_P;    L_shift = FRB_PQ;elseif auction_type == 5    G_shift = all_zeros;    L_shift = Qfudge;elseif auction_type == 6    if abs(LAO(1,1)) < zero_tol        G_shift = min(FRO(1,1),LAB_P(1,1)) * all_ones;        L_shift = min(FRO(1,1),LAB_P(1,1)) + Qfudge;    else        G_shift = max(LAO(1,1),FRB_P(1,1)) * all_ones;        L_shift = max(LAO(1,1),FRB_P(1,1)) + Qfudge;    endelseif auction_type == 7    G_shift = (LAO + LAB_P) / 2;    L_shift = (LAO + LAB_P) / 2 + Qfudge;elseif auction_type == 8    G_shift = LAO;    L_shift = LAB_PQ;end%% compute the pricescpin(G,:) = lamP(G,:) + G_shift(G,:);cpin(L,:) = lamP(L,:) + L_shift(L,:);%% clip cleared prices by offers and bidsclip = on .* (pin - cpin);cpin(G,:) = cpin(G,:) + (clip(G,:) > zero_tol) .* clip(G,:);cpin(L,:) = cpin(L,:) + (clip(L,:) < -zero_tol) .* clip(L,:);%% clip cleared offer prices by max_pcpin(G,:) = cpin(G,:) + (cpin(G,:) > max_p) .* (max_p - cpin(G,:));%% make prices uniform after clipping (except for discrim auction)%% since clipping may only affect a single block of a multi-block generatorif auction_type ~= 0 & np > 1    cpin(G,:) = diag(max(cpin(G,:)')) * all_ones(G,:);  %% equal to largest price in row    cpin(L,:) = diag(min(cpin(L,:)')) * all_ones(L,:);  %% equal to smallest price in rowendcq(in, :) = cqin;cp(in, :) = cpin;%%-----  plot offers, adjusted offers, prices  -----if verbose    %% compute locational adjustment for generators    ref_p = max(lamP(:,1));    % ref_p = max(bus(:, LAM_P));    adjustment = ref_p - lamP(:,1);                     %% locational price adjustment        %% form 1-d vectors of all valid offers & corresponding adjustments, acceptance    i = find(qin & pin <= max_p);    qq = qin(i);                            %% quantity vector    pp = pin(i);                            %% price vector    adj = diag(adjustment) * all_ones;      %% adjustment matrix    adj = adj(i);                           %% adjustment vector    adj_pp = pp + adj;                      %% adjusted offer price vector    acc = accept(i);                        %% acceptance vector    final_p = cpin;    final_p = final_p(i);        %% sort by adjusted price    [junk, k] = sort(adj_pp);    qq = qq(k);    pp = pp(k);    adj = adj(k);    adj_pp = adj_pp(k);    acc = acc(k);    final_p = final_p(k);    %% plot it    subplot(1,1,1);    xd = [0; cumsum(qq)];    [xs, ys1] = stairs(xd, [pp; pp(length(pp))]);    [xs, ys2] = stairs(xd, [adj_pp; adj_pp(length(adj_pp))]);    [xs, ys3] = stairs(xd, [acc; acc(length(acc))]);    [xs, ys4] = stairs(xd, [final_p; final_p(length(final_p))]);    [xs1, ys5] = stairs([0 sum(Pg) sum(qq)], [0 100 100]);    plot(xs, ys2, 'r--');       %% adjusted offers    axis([0 1.1*max(xd) 0 max([110, 1.1*max(adj_pp)])]);    hold on;    plot(xs, ys1, 'y-.');       %% unadjusted offers    plot(xs, 100*ys3, 'b:');    %% percent of block accepted    plot(xs, ys4, 'g');         %% price paid%   plot(xs1, ys5, 'b');    hold off;    drawnow;endreturn;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线一区| 26uuu久久综合| 久久99这里只有精品| 中文字幕日韩精品一区| 91精品国产手机| 色呦呦国产精品| 国产成人av一区二区三区在线| 亚洲欧美日韩国产成人精品影院| 欧美一二三区在线观看| 在线日韩一区二区| 成人免费看片app下载| 麻豆精品国产91久久久久久| 亚洲美女精品一区| 亚洲国产激情av| 欧美白人最猛性xxxxx69交| 欧美色图天堂网| 福利电影一区二区三区| 激情综合色综合久久| 亚洲小说欧美激情另类| 国产精品系列在线| 久久久777精品电影网影网| 在线综合视频播放| 欧美色涩在线第一页| 一本大道久久a久久精二百| 国产不卡在线一区| 久热成人在线视频| 日韩精品高清不卡| 亚洲va欧美va天堂v国产综合| 亚洲人成7777| 国产精品毛片无遮挡高清| 久久久久国产精品免费免费搜索| 日韩欧美中文一区| 91精品久久久久久久久99蜜臂| 欧美在线制服丝袜| 日本韩国欧美一区| 色香蕉成人二区免费| 91在线免费看| 91理论电影在线观看| 99综合影院在线| 99精品久久久久久| 色综合天天综合狠狠| 99久久久国产精品免费蜜臀| 成人h动漫精品| 99国产麻豆精品| 日本精品一区二区三区高清 | 91黄色免费观看| av资源网一区| 在线观看三级视频欧美| 日本高清不卡一区| 欧美性受xxxx黑人xyx| 欧美日韩一级二级三级| 4438x成人网最大色成网站| 欧美一区二区三区影视| 欧美成人综合网站| 国产午夜精品福利| 中文字幕字幕中文在线中不卡视频| 中文字幕制服丝袜成人av| 亚洲视频 欧洲视频| 亚洲午夜日本在线观看| 亚洲aaa精品| 捆绑变态av一区二区三区| 国产激情一区二区三区桃花岛亚洲| 成人小视频在线| 色综合一个色综合亚洲| 7878成人国产在线观看| 欧美精品一区在线观看| 中国色在线观看另类| 亚洲一区欧美一区| 激情五月婷婷综合网| 成人aaaa免费全部观看| 欧美日韩aaaaa| 久久视频一区二区| 亚洲色图制服丝袜| 蜜桃视频在线观看一区| 成人av电影在线| 欧美精品电影在线播放| 国产夜色精品一区二区av| 亚洲免费av在线| 精品制服美女丁香| 91亚洲精品一区二区乱码| 911国产精品| 欧美国产日本视频| 亚洲成人自拍偷拍| 从欧美一区二区三区| 欧美三级在线视频| 日本一二三四高清不卡| 三级影片在线观看欧美日韩一区二区| 国产一区 二区 三区一级| 色哟哟欧美精品| 久久久久久日产精品| 亚洲国产欧美另类丝袜| 国产精品自拍毛片| 欧美精品免费视频| 亚洲日本乱码在线观看| 青娱乐精品视频| 一本大道久久精品懂色aⅴ| 亚洲精品一线二线三线| 亚洲国产一区二区在线播放| 国产一区二区视频在线| 欧美人狂配大交3d怪物一区| **欧美大码日韩| 久久99国内精品| 欧美日韩中文一区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 一本久久综合亚洲鲁鲁五月天 | 亚洲综合自拍偷拍| 国产一区二区免费视频| 欧美高清视频www夜色资源网| 国产亚洲短视频| 久久精品国产精品亚洲综合| 欧美日韩美女一区二区| 亚洲视频一区在线观看| 国产91清纯白嫩初高中在线观看| 欧美一级在线免费| 午夜国产不卡在线观看视频| 99re这里只有精品6| 国产婷婷精品av在线| 久久国产精品99久久人人澡| 欧美日韩精品一区二区三区蜜桃 | 亚洲精品一区二区精华| 视频一区欧美精品| 欧美日韩黄色一区二区| 亚洲一区二区三区三| 成人免费毛片高清视频| 国产色产综合色产在线视频| 激情文学综合丁香| 精品国产一二三区| 久久99精品国产麻豆婷婷洗澡| 日韩欧美一区中文| 免费不卡在线视频| 日韩女优毛片在线| 精品亚洲成a人| 精品久久国产字幕高潮| 精品一区二区三区视频 | 一区二区高清视频在线观看| 不卡一二三区首页| 国产精品欧美一区二区三区| 国产成人在线网站| 国产精品女主播av| av亚洲精华国产精华精| 国产精品福利一区| 93久久精品日日躁夜夜躁欧美| 中文字幕制服丝袜成人av| 一本久久a久久免费精品不卡| 亚洲黄色性网站| 欧美午夜一区二区三区 | 亚洲成人在线免费| 6080亚洲精品一区二区| 免费久久99精品国产| 欧美一级二级三级乱码| 狠狠色丁香婷婷综合久久片| 久久综合九色综合97婷婷| 国产成人免费视频精品含羞草妖精| 国产精品网站在线播放| 97久久超碰国产精品电影| 亚洲美女精品一区| 91精品国产品国语在线不卡| 国产一区二区福利| 中文字幕佐山爱一区二区免费| 欧美在线短视频| 裸体歌舞表演一区二区| 国产精品午夜在线| 欧日韩精品视频| 久久激情五月激情| 国产欧美精品一区二区色综合朱莉| 99精品视频在线观看免费| 亚洲电影你懂得| 久久免费视频一区| 91一区一区三区| 琪琪久久久久日韩精品| 久久精品免视看| 欧美午夜精品久久久| 久久精品国产亚洲高清剧情介绍| 国产精品麻豆一区二区| 欧美精品一二三区| 国产69精品久久久久毛片| 一区二区三区在线观看欧美| 日韩女优av电影在线观看| 91色九色蝌蚪| 麻豆国产精品一区二区三区| 自拍偷拍亚洲激情| 欧美sm美女调教| 91免费国产在线| 激情文学综合网| 亚洲一二三四区不卡| 久久久九九九九| 欧美日韩午夜在线| 大胆欧美人体老妇| 美女视频免费一区| 洋洋成人永久网站入口| 国产无人区一区二区三区| 欧美日韩在线精品一区二区三区激情| 国产在线乱码一区二区三区| 亚洲一区成人在线| 国产精品免费人成网站| 精品日韩欧美在线| 欧美日韩三级一区| av毛片久久久久**hd| 国模冰冰炮一区二区| 偷拍亚洲欧洲综合|