旅行商法
① 旅行商人的任務觸發條件是什麼
條件:一定要有錢!!!才能碰到那個商人~而且要把他手裡的貓眼石買下來 好像是600~~~先買幾次 然後再拒絕 其它條件就不清楚了~應該就是: 1、罪孽要高 2、要能前往魔界 3、要將貓眼石交給貓商人(就可以在魔界商店買東西了) 4、不能太笨吧。。。智力也要。。。 符合條件時,在拒絕(一定要拒絕)旅行商人拜訪離去後,女兒會好奇的問吉普有關這商人的事。聽到旅行商人身上帶著些高價的物品時,女兒的眼睛為之一亮……於是女兒前往魔界收集情報(步驟一) 去到魔界商店(步驟二),聽到貓妖說著旅行商人的壞話,女兒向他探聽商人的行蹤,得知魔界酒店老闆可能知道些什麼 拜訪魔界酒店老闆(步驟三),提起旅行商人,老闆馬上破口大罵,並且詢問女兒是否有東西被他偷走,女兒不至可否的回答,義憤填膺的老闆,馬上畫了份地圖給女兒,女兒拿到地圖後在心中暗笑…… 依照地圖指示前往(步驟四),卻發現空無一物,失望的女兒再度前往魔界酒店(步驟五),老闆告訴他旅行商人可能用魔法之類的東西將自己的加隱藏起來了,不甘心的女兒只好另尋他法 女兒四處打探消息,最後到了醫院(步驟六),得知院長對練金術很有研究,於是女兒詢問他破解隱形魔法的方法,院長對此表示出高度興趣,並叫出他的助手?瑪莉……拿出兩人研發的魔法眼鏡交給女兒,並要他在使用後告知感想 拿到眼鏡的女兒,再次前往魔界(步驟七),赫然發現有一棟小屋浮現眼前,興奮的女兒忙不迭地奔向小屋,發現了滿屋子的寶物(贓品?)「只拿一件,只拿一件應該不會被發現吧!」女兒是這么想的……女兒的罪孽值又升高了……
② TSP(旅行商問題)用分支限界法。用c語言寫
#include <bits/stdc++.h>
using namespace std;
double graph[25][25];
int vis[25];
double a[25];
double ub;
double ans;
struct point {
int x;
int y;
}p[25];
double dis(point a, point b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
void dfs(int n, int x, double temp, int cnt)
{
// printf("%.2lf\n", temp);
if(cnt == n-2)
{
ub = min(ub, temp+graph[x][n-1]);
return ;
}
vis[x]=1;
for(int i=0; i<n-1; i++)
{
if(graph[x][i] && !vis[i])
{
temp += graph[x][i];
if(temp < ub)
dfs(n, i, temp, cnt+1);
temp -= graph[x][i];
vis[i]=0;
}
}
}
int main()
{
int t, n, x, y;
scanf("%d", &t);
while(t--)
{
int cnt=0;
ub=0x3f3f3f3f;
double temp=0;
memset(graph, 0, sizeof(graph));
memset(vis, 0, sizeof(vis));
scanf("%d", &n);
for(int i=0; i<n; i++)
scanf("%d%d", &p[i].x, &p[i].y);
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
graph[i][j] = dis(p[i], p[j]);
vis[0]=1;
dfs(n,0,temp,0);
printf("%.2lf\n", ub);
}
return 0;
}
③ TSP旅行商問題,用動態規劃法如何解決
我這兩天正在幫人寫這個程序,還沒寫好,過兩天和你交流下……
④ 已知起終點的旅行商問題
旅行商問題沒有高效的解法,一般需要藉助計算機程序設計來解決,從起點出發,一一枚舉所有可能路線,然後比較各條路線長短,找到最短一條。程序中可以採用線性、樹狀、圖形數據結構,其中圖形結構存儲和計算效率高,但演算法復雜。
⑤ 旅行商問題的解法思路
旅行推銷員的問題,我們稱之為巡行(Tour),此種問題屬於NP完全問題(NP-Complete),所以旅行商問題大多集中在啟發式解法。Bodin(1983)等人將旅行推銷員問題的啟發式解法分成三種: 從距離矩陣中產生一個近似最佳解的途徑,有以下幾種解法:如近鄰點法(Nearest Neighbor Procere):一開始以尋找離場站最近的需求點為起始路線的第一個顧客,此後尋找離最後加入路線的顧客最近的需求點1、,直到最後。
2、節省法(Clark and Wright Saving):以服務每一個節點為起始解,根據三角不等式兩邊之和大於第三邊之性質,其起始狀況為每服務一個顧客後便回場站,而後計算路線間合並節省量,將節省量以降序排序而依次合並路線,直到最後。
3、插入法(Insertion proceres):如今插入法、最省插入法、隨意插入法、最遠插入法、最大角度插入法等。 先給定一個可行途程,然後進行改善,一直到不能改善為止。有以下幾種解法:
1、K-Opt(2/3 Opt):把尚未加入路徑的K條節線暫時取代如今路徑中K條節線,並計算其成本(或距離),如果成本降低(距離減少),則取代之,直到無法改善為止,K通常為2或3。
2、Or-Opt:在相同路徑上相鄰的需求點,將之和本身或其它路徑交換且仍保持路徑方向性,合成啟發法
先由途程建構法產生起始途程,然後再使用途程改善法去尋求最佳解,又稱為兩段解法(two phase method)。有以下幾種解法:
1、起始解求解+2-Opt:以途程建構法建立一個起始的解,再用2-Opt的方式改善途程,直到不能改善為止。
2、起始解求解+3-Opt:以途程建構法建立一個起始的解,再用3-Opt的方式改善途程,直到不能改善為止。
⑥ 以下是我在VC上用C語言運行的回溯法解旅行商問題的程序,運行結果不對啊,哪位大神能幫我修改一下。
我沒看你後面的部分,就說第一段程序問題
swap()函數必須使用傳地址方式,傳值方式不能達到交換的作用,因為作用域只是函數內的局部變數x和y
改為
void swap(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
}
調用時傳地址,即swap(&a,&b)形式。
修改後你再試試你的程序對不對。
⑦ 旅行和旅遊 遷徙之間有什麼區別
1、目的不同
旅行的目的是觀察身邊的景色和事物,行萬里路,讀萬卷書。
旅遊的目的游覽、觀光、娛樂。
遷徙多是指鳥類為了適應環境因素周期性變化。人類也有過這種活動,現代的人類就有這種行為。並且一旦發生這種人群的大的遷徙,都預示著一種新的帶「革命」性質的事件發生了。
2、主體不同
旅行的主體主要指的是個人。
旅遊的主體一般是團體。
遷徙的主體更多是動物,多是鳥類,人類當出現重要事件時,也會有遷徙活動
3、形式不同
旅行的形式根據動機不同可以分為休假旅遊、生態旅遊、畢業旅遊、蜜月旅遊、保健旅遊、會議旅遊、商務旅遊、宗教旅遊、科學考察旅遊
旅遊的形式按地理范圍分為國際旅遊、國內旅遊;按照性質和目的分為休閑、娛樂、度假、探親、訪友、商務、專業訪問、健康醫療、宗教朝聖類;按人數分類分為團隊旅遊、散客旅遊、自助旅遊、互助旅遊。
遷徙的形式鳥類遷徙的形式也是多種多樣的。若依在兩個地區之間遷飛的鳥,在飛行途中的途徑寬窄可分為寬面遷徙和窄面遷徙兩種形式;如以遷徙群中的鳥種而論則可分為:單純型和混合型;就遷徙地段而論,在同一種群中除群體按同一方向作平行形式遷徙以外,還存在交叉形式遷徙和跳躍形式遷徙。
⑧ 旅行商問題的線性規劃解法為什麼很少有相關資料
旅行商問題
目前尚不成熟
仍有很多問題沒有解決
所以相關資料很少