日韩欧美亚洲 _ 欧美亚洲一区 _ 日本亚洲欧美 _ 亚洲精品欧美 国产白袜脚足J棉袜在线观看_亚洲熟妇av一区二区三区_久久天天躁狠狠躁夜_精品众筹模特私拍在线

問答題

【案例分析題】閱讀下列說明和C代碼,將應填入(n)處的字句寫在答題紙的對應欄內。 說明:設某一機器由n個部件組成,每一個部件都可以從m個不同的供應商處購得。供應商j供應的部件i具有重量Wij和價格Cij。設計一個算法,求解總價格不超過上限cc的最小重量的機器組成。采用回溯法來求解該問題。首先定義解空間。解空間由長度為n的向量組成,其中每個分量取值來自集合{1,2,…,m},將解空間用樹形結構表示。接著從根節(jié)點開始,以深度優(yōu)先的方式搜索整個解空間。從根節(jié)點開始,根節(jié)點成為活節(jié)點,同時也成為當前的擴展節(jié)點。向縱深方向考慮第一個部件從第一個供應商處購買,得到一個新節(jié)點。判斷當前的機器價格(C11)是否超過上限(cc),重量(W11)是否比當前已知的解(最小重量)大,若是,應回溯至最近的一個活節(jié)點;若否,則該新節(jié)點成為活節(jié)點,同時也成為當前的擴展節(jié)點,根節(jié)點不再是擴展節(jié)點。繼續(xù)向縱深方向考慮第二個部件從第一個供應商處購買,得到一個新節(jié)點。同樣判斷當前的機器價格(C11+C21)是否超過上限(cc),重量(W11+W21)是否比當前已知的解(最小重量)大。若是,應回溯至最近的一個活節(jié)點;若否,則該新節(jié)點成為活節(jié)點,同時也成為當前的擴展節(jié)點,原來的節(jié)點不再是擴展節(jié)點。以這種方式遞歸地在解空間中搜索,直到找到所要求的解或者解空間中已無活節(jié)點為止。 C代碼:下面是該算法的C語言實現。 (1)變量說明n:機器的部件數。m:供應商數。cc:價格上限。w[][]:二維數組,w[i][j]表示第j個供應商供應的第i個部件的重量。c[][]:二維數組,c[i][j]表示第j個供應商供應的第i個部件的價格。bestW:滿足價格上限約束條件的最小機器重量。bestC:最小重量機器的價格。bestX[]:最優(yōu)解,一維數組,bestX[i]表示第i個部件來自哪個供應商。cw:搜索過程中機器的重量。cp:搜索過程中機器的價格。x[]:搜索過程中產生的解,x[i]表示第i個部件來自哪個供應商。i:當前考慮的部件,從0到n-1。j:循環(huán)變量 (2)函數backtrack

代碼如下:

答案: (1)bestX[j]=x[j]
(2)j(3)x...
微信掃碼免費搜題