動(dòng)態(tài)規(guī)劃就是解決多階段決策最優(yōu)化問(wèn)題的一種思想方法。
將所給問(wèn)題的過(guò)程,按時(shí)間或空間特征分解成若干相互聯(lián)系的階段,以便按次序去求每階段的解。
各階段開始時(shí)的客觀條件叫做狀態(tài)。
當(dāng)各段的狀態(tài)取定以后,就可以做出不同的決定,從而確定下一階段的狀態(tài),這種決定稱為決策。
由開始到終點(diǎn)的全過(guò)程中,由每段決策組成的決策序列稱為全過(guò)程策略,簡(jiǎn)稱策略。
前一階段的終點(diǎn)就是后一階段的起點(diǎn),前一階段的決策選擇導(dǎo)出了后一階段的狀態(tài),這種關(guān)系描述了由k階段到k 1階段狀態(tài)的演變規(guī)律,稱為狀態(tài)轉(zhuǎn)移方程。
目標(biāo)函數(shù)是衡量多階段決策過(guò)程優(yōu)劣的準(zhǔn)則。最優(yōu)化概念是在一定條件下找到一個(gè)途徑,經(jīng)過(guò)按題目具體性質(zhì)所確定的運(yùn)算以后,使全過(guò)程的總效益達(dá)到最優(yōu)。
大多數(shù)動(dòng)規(guī)都是在一維二維這種規(guī)則的背景下的,可以解決的問(wèn)題比較局限,而樹作為一種特殊的圖,可以描述比較復(fù)雜的關(guān)系,再加上樹的遞歸定義,是一種非常合適動(dòng)規(guī)的框架,樹型動(dòng)態(tài)規(guī)劃就成為動(dòng)規(guī)中很特殊的一種類型。
沒(méi)有上司的晚會(huì)
【問(wèn)題描述】
有個(gè)公司要舉行一場(chǎng)晚會(huì)。為了讓到會(huì)的每個(gè)人不受他的直接上司約束而能玩得開心,公司領(lǐng)導(dǎo)決定:如果邀請(qǐng)了某個(gè)人,那么一定不會(huì)再邀請(qǐng)他的直接的上司,但該人的上司的上司,上司的上司的上司……都可以邀請(qǐng)。已知每個(gè)人最多有唯一的一個(gè)上司。
已知公司的每個(gè)人參加晚會(huì)都能為晚會(huì)增添一些氣氛,求一個(gè)邀請(qǐng)方案,使氣氛值的和最大。
【輸入:】
第1行一個(gè)整數(shù)
接下來(lái)
接下來(lái)每行兩個(gè)整數(shù)
輸入以0 0結(jié)束。
【輸出】:
一個(gè)數(shù),最大的氣氛值和。
【樣例輸入】
7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0
5
【分析】
如上例,上司與小兵之間的關(guān)系構(gòu)成一棵樹。
5
| \
3 4
| \ | \
1 2 6 7
又是求最優(yōu)解,并且每一個(gè)節(jié)點(diǎn)的取舍關(guān)乎到全局 因此,此題可用樹形動(dòng)態(tài)規(guī)劃
我們可用
C :
#includeusing namespace std; int main() { intn,qf[201],f[201][2],shs[201],xb[201][201],shu[201][201],x,s,maxc,j,k,a,b,l,i;//qf存儲(chǔ)每個(gè)人的氣氛值,shs存儲(chǔ)每個(gè)人的上司,xb存儲(chǔ)每個(gè)人的下屬,shu存儲(chǔ)構(gòu)成的樹,maxc存儲(chǔ)最大層數(shù) cin>>n; for(i=0;i<=n;i ) { xb[i][0]=0; shs[i]=0; } for(i=1;i<=n;i )cin>>qf[i]; l=1; k=1; while(l!=0||k!=0) { cin>>l>>k; shs[l]=k; xb[k][0] ; xb[k][xb[k][0]]=l; } maxc=0; for(i=1;i<=n;i ) { x=i; s=1; while(shs[x]!=0) { x=shs[x]; s=s 1; } shu[s][0] ; shu[s][shu[s][0]]=i; if(s>maxc)maxc=s; }//建樹,maxc存儲(chǔ)最大層數(shù) for(i=maxc;i>=1;i--) for(j=1;j<=shu[i][0];j ) { if(xb[shu[i][j]][0]==0) { f[shu[i][j]][0]=0; f[shu[i][j]][1]=qf[shu[i][j]]; } else { f[shu[i][j]][0]=0; f[shu[i][j]][1]=qf[shu[i][j]]; for(k=1;k<=xb[shu[i][j]][0];k ) { a=f[xb[shu[i][j]][k]][0]; b=f[xb[shu[i][j]][k]][1]; f[shu[i][j]][1] =a; if(b>a)a=b; f[shu[i][j]][0] =a; }//動(dòng)態(tài)轉(zhuǎn)移方程 } } s=0; for(i=1;i<=shu[1][0];i ) { a=f[shu[1][i]][0]; b=f[shu[1][i]][1]; if(a 大家看到,樹形動(dòng)態(tài)規(guī)劃基本上可以分為2個(gè)部分,一個(gè)是建樹,另一個(gè)就是動(dòng)態(tài)規(guī)劃,一個(gè)好的數(shù)據(jù)結(jié)構(gòu),能使你編程非常容易,這也是樹形動(dòng)態(tài)規(guī)劃的難點(diǎn)之一
pascal:
type link=^node; node=record s:longint; next:link; end; constmaxn=100; var r:array[1..maxn]oflongint;{存儲(chǔ)每個(gè)人的搞笑指數(shù)} sum:array[1..maxn,0..1]oflongint; son:array[1..maxn]oflink;{記錄指向兒子結(jié)點(diǎn)的指針} n,root:longint; i,a,b:longint; p:link; functionmax(a,b:longint):longint; beginifa>bthenexit(a)elseexit(b);end; procedurecalc(k:longint);{k是根結(jié)點(diǎn)} var p:link; i:longint; begin sum[k][0]:=0;{初值為0} sum[k][1]:=0; p:=son[k];{取結(jié)點(diǎn)k的孩子結(jié)點(diǎn)} whilep<>nildo begin i:=p^.s; calc(i);{遞歸調(diào)用此過(guò)程,計(jì)算以i為根結(jié)點(diǎn)的最大搞笑指數(shù)} inc(sum[k][0],max(sum[i][0],sum[i][1])); inc(sum[k][1],sum[i][0]); p:=p^.next;{算兄弟} end; inc(sum[k][1],r[k]); end; begin read(n); fori:=1tondo{讀入每個(gè)結(jié)點(diǎn)的搞笑指數(shù)} read(r[i]); fori:=1ton-1do{n個(gè)結(jié)點(diǎn)的相互連通的樹共有n-1條邊} begin read(a,b);{b是a的上級(jí)} inc(root,a);{對(duì)兒子結(jié)點(diǎn)的編號(hào)求和} new(p);{以孩子兄弟表示法來(lái)存儲(chǔ)樹的結(jié)構(gòu)} p^.s:=a; p^.next:=son[b];{數(shù)組son的初值應(yīng)為nil} son[b]:=p; end; root:=(n*(n 1)div2)-root;{計(jì)算出根結(jié)點(diǎn)的編號(hào)} calc(root); writeln(max(sum[root][0],sum[root][1])); end.2100433B
樹形結(jié)構(gòu)是一層次的嵌套結(jié)構(gòu)。 一個(gè)樹形結(jié)構(gòu)的外層和內(nèi)層有相似的結(jié)構(gòu), 所以這種結(jié)構(gòu)多可以遞歸的表示。經(jīng)典數(shù)據(jù)結(jié)構(gòu)中的各種樹狀圖是一種典型的樹形結(jié)構(gòu):一顆樹可以簡(jiǎn)單的表示為根, 左子樹, 右子樹。 左子...
現(xiàn)在制作很麻煩,因?yàn)槟氵@個(gè)是需要貼皮的,而中間的花格還是需要訂制。木工沒(méi)幾個(gè)雕刻手藝。 首先訂好尺寸,加工花格,及木板開孔。木板貼皮,統(tǒng)一調(diào)色。 花格拿...
如何用Java實(shí)現(xiàn)樹形結(jié)構(gòu)???
package tree; import java.util.LinkedList; import java.util.List; /** * 功能:把一個(gè)數(shù)組的值存入二叉樹中...
格式:pdf
大?。?span id="l5hdqik" class="single-tag-height">1.6MB
頁(yè)數(shù): 3頁(yè)
評(píng)分: 4.4
鋼管結(jié)構(gòu)樹形柱
格式:pdf
大?。?span id="8g0ln9i" class="single-tag-height">1.6MB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.3
楊梅已逐漸成為南方的一種重要果樹,全省已有25萬(wàn)多畝,我市數(shù)萬(wàn)畝。對(duì)開發(fā)山區(qū)經(jīng)濟(jì)有積極意義。但是楊梅結(jié)果普遍較遲,單產(chǎn)較低或大小年結(jié)果嚴(yán)重。其癥結(jié)是楊梅園管理粗放,樹形未經(jīng)整形修剪,枝葉多,樹冠蔭蔽,頂端優(yōu)勢(shì)明顯,營(yíng)養(yǎng)生長(zhǎng)與生殖生長(zhǎng)失調(diào)。筆者通過(guò)實(shí)踐與觀察,認(rèn)為可以通過(guò)整形修剪,肥培管理,盡量利用緩和樹勢(shì),促進(jìn)花芽形成,提高座果率,達(dá)到豐產(chǎn)穩(wěn)產(chǎn)優(yōu)質(zhì)?,F(xiàn)分述如下:
水資源規(guī)劃即在掌握水資源的時(shí)空分布特征、地區(qū)條件、國(guó)民經(jīng)濟(jì)對(duì)水資源需求的基礎(chǔ)上,協(xié)調(diào)各種矛盾,對(duì)水資源進(jìn)行統(tǒng)籌安排,制定出最佳開發(fā)利用方案及相應(yīng)的工程措施的規(guī)劃。它是水資源管理的一個(gè)重要部分。
動(dòng)態(tài)規(guī)劃是用以求解多階段決策過(guò)程最優(yōu)化策略問(wèn)題的方法。其基本思路是將一個(gè)復(fù)雜的系統(tǒng)分析問(wèn)題分解為一個(gè)多階段的決策過(guò)程,并按一定順序或時(shí)序從第一階段開始,逐次求出每階段的最優(yōu)決策,經(jīng)歷各階段而求得整個(gè)系統(tǒng)的最優(yōu)策略。
水利規(guī)劃中的許多問(wèn)題,如水資源優(yōu)化分配、工程布局和規(guī)模優(yōu)化、工程最優(yōu)開發(fā)順序等都可用其求解。為了克服方法存在的“維數(shù)障礙”,曾提出過(guò)許多改進(jìn)途徑,如在確定性動(dòng)態(tài)規(guī)劃方而的狀態(tài)增量動(dòng)態(tài)規(guī)劃法、離散微分動(dòng)態(tài)規(guī)劃法、微分動(dòng)態(tài)規(guī)劃法、逐次逼近法、逐次優(yōu)化算法(POA)和在隨機(jī)動(dòng)態(tài)規(guī)劃方而的參數(shù)迭代法等。中國(guó)學(xué)者提出了一種狀態(tài)極值逐次優(yōu)化算法(SEPOA)和多維動(dòng)態(tài)規(guī)劃試驗(yàn)選優(yōu)法等,使高維動(dòng)態(tài)規(guī)劃問(wèn)題的求解成為可能。動(dòng)態(tài)規(guī)劃應(yīng)用于水利規(guī)劃時(shí)存在的另一障礙,是研究對(duì)象中的狀態(tài)往往存在后效性。例如在海涂促淤圍墾優(yōu)化規(guī)劃中,促淤?zèng)Q策影響著圍墾決策,圍墾決策也影響著促淤?zèng)Q策;在除澇排水系統(tǒng)規(guī)劃中,作為狀態(tài)變量的河網(wǎng)規(guī)模與排水閘尺寸也是相互制約的。針對(duì)這兩種情況,中國(guó)已分別提出了試誤迭代法和建立河網(wǎng)規(guī)模與排水閘尺寸的關(guān)系方程作為約束條件來(lái)加以克服,從而擴(kuò)大了動(dòng)態(tài)規(guī)劃的應(yīng)用范圍。在隨機(jī)動(dòng)態(tài)規(guī)劃方面,也提出過(guò)一些多維隨機(jī)動(dòng)態(tài)規(guī)劃算法和多目標(biāo)隨機(jī)動(dòng)態(tài)規(guī)劃算法等,均有所創(chuàng)新。
水資源系統(tǒng)規(guī)劃是水資源合理開發(fā)利用的有效途徑。隨著全球社會(huì)經(jīng)濟(jì)的發(fā)展,水資源在經(jīng)濟(jì)可持續(xù)發(fā)展中具有基礎(chǔ)性地位和至關(guān)重要的作用。為了合理利用水資源,實(shí)現(xiàn)水資源可持續(xù)利用,保障經(jīng)濟(jì)社會(huì)可持續(xù)發(fā)展,我們需要對(duì)水資源進(jìn)行合理規(guī)劃,研究水資源規(guī)劃方法。近年來(lái),對(duì)水資源規(guī)劃方法的研究不斷加深,并取得了大量成果。動(dòng)態(tài)規(guī)劃模型在越來(lái)越多的應(yīng)用在水資源規(guī)劃中,具有將高維問(wèn)題化為相對(duì)簡(jiǎn)單的低維問(wèn)題、對(duì)目標(biāo)函數(shù)和約束條件的函數(shù)形式限制較寬、處理比較方便等優(yōu)點(diǎn)。以經(jīng)濟(jì)、社會(huì)、環(huán)境綜合效益最大為目標(biāo),通過(guò)分析水資源現(xiàn)狀,建立動(dòng)態(tài)規(guī)劃模型,能夠有效的了解水資源供需矛盾。
我局召開督察員工作交接見(jiàn)面座談會(huì)
2013年3月6日下午,衡水市城鄉(xiāng)規(guī)劃局召開了省住建廳派駐衡水城鄉(xiāng)規(guī)劃督察員工作交接見(jiàn)面座談會(huì)。省建設(shè)監(jiān)察辦副主任吳清波、省建設(shè)監(jiān)察辦規(guī)劃督察科科長(zhǎng)邢光明、省住建廳派駐衡水原督察員王英麒和新任督察員張勝軍及衡水市政府副秘書長(zhǎng)張奎元、市城鄉(xiāng)規(guī)劃局黨組全體成員、局機(jī)關(guān)各科室科長(zhǎng)參加了會(huì)議。
交接儀式上,省建設(shè)監(jiān)察辦吳清波副主任介紹了我省城鄉(xiāng)規(guī)劃督察工作的開展情況,充分肯定了原督察員王英麒同志多年的駐衡工作,介紹了新任督察員張勝軍的有關(guān)情況,重申了督察員職責(zé),提出了督察工作要求,希望衡水的城鄉(xiāng)規(guī)劃工作更加規(guī)范,城市建設(shè)更上一臺(tái)階。原省住建廳駐衡督察員王英麒、現(xiàn)省住建廳駐衡督察員張勝軍均作了表態(tài)發(fā)言。
市政府副秘書長(zhǎng)張奎元代表市政府歡迎新督察員的到來(lái),并感謝了原督察員對(duì)衡水規(guī)劃工作的幫助。表示一定會(huì)全力支持督察員工作,嚴(yán)格按照規(guī)劃法及相關(guān)法律、法規(guī)做好規(guī)劃工作。市城鄉(xiāng)規(guī)劃局局長(zhǎng)張峰、副局長(zhǎng)楊凝均表態(tài):感謝省住建廳對(duì)衡水城鄉(xiāng)規(guī)劃工作的關(guān)心和重視,將全力配合駐衡督察員工作,進(jìn)一步提升規(guī)劃工作水平。
2100433B