国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫COMP528、代做 Python ,java 編程

時間:2023-11-25  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



In this assignment, you are asked to implement 2 algorithms for the Travelling Salesman
Problem. This document explains the operations in detail, so you do not need previous
knowledge. You are encouraged to start this as soon as possible. Historically, as the dead?line nears, the queue times on Barkla grow as more submissions are tested. You are also
encouraged to use your spare time in the labs to receive help, and clarify any queries you
have regarding the assignment.
1 The Travelling Salesman Problem (TSP)
The travelling salesman problem is a problem that seeks to answer the following question:
‘Given a list of vertices and the distances between each pair of vertices, what is the shortest
possible route that visits each vertex exactly once and returns to the origin vertex?’.
(a) A fully connected graph (b) The shortest route around all vertices
Figure 1: An example of the travelling salesman problem
The travelling salesman problem is an NP-hard problem, that meaning an exact solution
cannot be solved in polynomial time. However, there are polynomial solutions that can
be used which give an approximation of the shortest route between all vertices. In this
assignment you are asked to implement 2 of these.
1.1 Terminology
We will call each point on the graph the vertex. There are 6 vertices in Figure 1.
We will call each connection between vertices the edge. There are 15 edges in Figure 1.z
We will call two vertices connected if they have an edge between them.
The sequence of vertices that are visited is called the tour. The tour for Figure 1(b) is
(1, 3, 5, 6, 4, 2, 1). Note the tour always starts and ends at the origin vertex.
A partial tour is a tour that has not yet visited all the vertices.
202**024 1
COMP528
2 The solutions
2.1 Preparation of Solution
You are given a number of coordinate files with this format:
x, y
4.81263062**6921, 8.3**19930253777
2.**156816804616, 0.39593575612759
1.13649642931556, 2.2**59458630845
4.4**7**99682118, 2.9749120444**06
9.8****616851393, 9.107****070**
Figure 2: Format of a coord file
Each line is a coordinate for a vertex, with the x and y coordinate being separated by a
comma. You will need to convert this into a distance matrix.
0.000000 8.177698 7.099481 5.381919 5.0870**
8.177698 0.000000 2.577029 3.029315 11.138848
7.099481 2.577029 0.000000 3.426826 11.068045
5.381919 3.029315 3.426826 0.000000 8.139637
5.0870** 11.138848 11.068045 8.139637 0.000000
Figure 3: A distance matrix for Figure 2
To convert the coordinates to a distance matrix, you will need make use of the euclidean
distance formula.
d =
q (xi ? xj )
2 + (yi ? yj )
2
(1)
Figure 4: The euclidean distance formula
Where: d is the distance between 2 vertices vi and vj
, xi and yi are the coordinates of the
vertex vi
, and xj and yj are the coordinates of the vertex vj
.
202**024 2
COMP528
2.2 Cheapest Insertion
The cheapest insertion algorithm begins with two connected vertices in a partial tour. Each
step, it looks for a vertex that hasn’t been visited, and inserts it between two connected
vertices in the tour, such that the cost of inserting it between the two connected vertices is
minimal.
These steps can be followed to implement the cheapest insertion algorithm. Assume that the
indices i, j, k etc. are vertex labels, unless stated otherwise. In a tiebreak situation, always
pick the lowest index or indices.
1. Start off with a vertex vi
.
Figure 5: Step 1 of Cheapest Insertion
2. Find a vertex vj such that the dist(vi
, vj ) is minimal, and create a partial tour (vi
, vj
, vi)
Figure 6: Step 2 of Cheapest Insertion
3. Find two connected vertices (vn, vn+1), where n is a position in the partial tour, and
vk that has not been visited. Insert vk between vn and vn+1 such that dist(vn, vk) +
dist(vn+1, vk) ? dist(vn, vn+1) is minimal.
202**024 3
COMP528
Figure 7: Step 3 of Cheapest Insertion
4. Repeat step 3 until all vertices have been visited, and are in the tour.
Figure 8: Step 4 of Cheapest Insertion
Figure 9: Final step and tour of Cheapest Insertion. Tour Cost = 11
2.3 Farthest Insertion
The farthest insertion algorithm begins with two connected vertices in a partial tour. Each
step, it checks for the farthest vertex not visited from any vertex within the partial tour, and
then inserts it between two connected vertices in the partial tour where the cost of inserting
it between the two connected vertices is minimal.
202**024 4
COMP528
These steps can be followed to implement the farthest insertion algorithm. Assume that the
indices i, j, k etc. are vertex labels unless stated otherwise. In a tiebreak situation, always
pick the lowest index(indices).
1. Start off with a vertex vi
.
Figure 10: Step 1 of Farthest Insertion
2. Find a vertex vj such that dist(vi
, vj ) is maximal, and create a partial tour (vi
, vj
, vi).
Figure 11: Step 2 of Farthest Insertion
3. For each vertex vn in the partial tour, where n is a position in the partial tour, find an
unvisited vertex vk such that dist(vn, vk) is maximal.
Figure 12: Step 3 of Farthest Insertion
202**024 5
COMP528
4. Insert vk between two connected vertices in the partial tour vn and vn+1, where n is
a position in the partial tour, such that dist(vn, vk) + dist(vn+1, vk) ? dist(vn, vn+1) is
minimal.
Figure 13: Step 4 of Farthest Insertion
5. Repeat steps 3 and 4 until all vertices have been visited, and are in the tour.
Figure 14: Step 3(2) of Farthest Insertion
Figure 15: Step 4(2) of Farthest Insertion
202**024 6
COMP528
Figure 16: Final step and tour of Farthest Insertion. Tour Cost = 11
3 Running your programs
Your program should be able to be ran like so:
./<program name >. exe <c o o r d i n a t e f i l e n a m e > <o u t p u t fil e n am e >
Therefore, your program should accept a coordinate file, and an output file as arguments.
Note that C considers the first argument as the program executable.
Both implementations should read a coordinate file, run either cheapest insertion or farthest
insertion, and write the tour to the output file.
3.1 Provided Code
You are provided with code that can read the coordinate input from a file, and write the
final tour to a file. This is located in the file coordReader.c. You will need to include this
file when compiling your programs.
The function readNumOfCoords() takes a filename as a parameter and returns the number
of coordinates in the given file as an integer.
The function readCoords() takes the filename and the number of coordinates as parameters,
and returns the coordinates from a file and stores it in a two-dimensional array of doubles,
where coords[i ][0] is the x coordinate for the ith coordinate, and coords[i ][1] is the y
coordinate for the ith coordinate.
The function writeTourToFile() takes the tour, the tour length, and the output filename
as parameters, and writes the tour to the given file.
202**02**
University of Liverpool Continuous Assessment 1 COMP528
4 Instructions
? Implement a serial solution for the cheapest insertion and the farthest insertion. Name
these: cInsertion.c, fInsertion.c.
? Implement a parallel solution, using OpenMP, for the cheapest insertion and the far?thest insertion. Name these: ompcInsertion.c, ompfInsertion.c.
? Create a Makefile and call it ”Makefile” which performs as the list states below. With?out the Makefile, your code will not grade on CodeGrade (see more in section 5.1).
– make ci compiles cInsertion.c and coordReader.c into ci.exe with the GNU com?piler
– make fi compiles fInsertion.c and coordReader.c into fi.exe with the GNU compiler
– make comp compiles ompcInsertion.c and coordReader.c into comp.exe with the
GNU compiler
– make fomp compiles ompfInsertion.c and coordReader.c into fomp.exe with the
GNU compiler
– make icomp compiles ompcInsertion.c and coordReader.c into icomp.exe with
the Intel compiler
– make ifomp compiles ompfInsertion.c and coordReader.c into ifomp.exe the Intel
compiler.
? Test each of your parallel solutions using 1, 2, 4, 8, 16, and ** threads, recording
the time it takes to solve each one. Record the start time after you read from the
coordinates file, and the end time before you write to the output file. Do all testing
with the large data file.
? Plot a speedup plot with the speedup on the y-axis and the number of threads on the
x-axis for each parallel solution.
? Plot a parallel efficiency plot with parallel efficiency on the y-axis and the number of
threads on the x-axis for each parallel solution.
? Write a report that, for each solution, using no more than 1 page per solution,
describes: your serial version, and your parallelisation strategy
? In your report, include: the speedup and parallel efficiency plots, how you conducted
each measurement and calculation to plot these, and sreenshots of you compiling and
running your program. These do not contribute to the page limit
202**024 8
COMP528
? Your final submission should be uploaded onto CodeGrade. The files you
upload should be:
– Makefile
– cInsertion.c
– fInsertion.c
– ompcInsertion.c
– ompfInsertion.c
– report.pdf
5 Hints
You can also parallelise the conversion of the coordinates to the distance matrix.
When declaring arrays, it’s better to use dynamic memory allocation. You can do this by...
int ? o n e d a r ra y = ( int ?) malloc ( numOfElements ? s i z e o f ( int ) ) ;
For a 2-D array:
int ?? twod a r ra y = ( int ??) malloc ( numOfElements ? s i z e o f ( int ? ) ) ;
for ( int i = 0 ; i < numOfElements ; i ++){
twod a r ra y [ i ] = ( int ?) malloc ( numOfElements ? s i z e o f ( int ) ) ;
}
5.1 Makefile
You are instructed to use a MakeFile to compile the code in any way you like. An example
of how to use a MakeFile can be used here:
{make command } : { t a r g e t f i l e s }
{compile command}
c i : c I n s e r t i o n . c coordReader . c
gcc c I n s e r t i o n . c coordReader . c ?o c i . exe ?lm
Now, in the Linux environment, in the same directory as your Makefile, if you type ‘make ci‘,
the compile command is automatically executed. It is worth noting, the compile command
must be indented. The target files are the files that must be present for the make command
to execute.
202**024 9
COMP528
6 Marking scheme
1 Code that compiles without errors or warnings 15%
2 Same numerical results for test cases 20%
3 Speedup plot 10%
4 Parallel Efficiency Plot 10%
5 Parallel efficiency up to ** threads 15%
6 Speed of program 10%
11 Clean code and comments 10%
12 Report 10%
Table 1: Marking scheme
7 Deadline
請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:4CCS1CS1代做、代寫c/c++,Python程序
  • 下一篇:代做CHC6089、代寫 java/c++程序語言
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 suno 豆包網頁版入口 wps 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产综合精品一区二区三区| 97国产精品视频| 国产亚洲一区二区三区在线播放| 国产av天堂无码一区二区三区| 欧美激情视频一区二区| 日日碰狠狠躁久久躁婷婷| 国产日韩欧美中文| 国产精品视频中文字幕91| 亚洲欧洲久久| 国产美女精品免费电影| 国产精品老女人视频| 欧美日韩精品免费观看| 日韩在线免费高清视频| 亚洲熟妇av日韩熟妇在线| 福利视频一区二区三区四区| 不用播放器成人网| 麻豆av免费在线| 国产精品户外野外| 免费一级特黄特色毛片久久看| 久久国内精品一国内精品| 亚洲免费视频播放| 国产精品一区久久| 久99九色视频在线观看| 国产一区二区在线网站| 国产精品久久久对白| 狠狠色综合色区| 久久夜色撩人精品| 国产日韩在线一区二区三区| 久久国产天堂福利天堂| 国产欧美一区二区三区久久人妖| 欧美成aaa人片在线观看蜜臀| 免费特级黄色片| 国产精品成人久久久久| 国产主播在线一区| 久久福利网址导航| 国产天堂视频在线观看| 欧美精品一区二区三区国产精品| 精品视频在线观看一区二区| 久热精品视频在线观看一区| 国产日韩欧美大片| 中文字幕一区二区三区最新| 成人在线国产精品| 一本色道久久99精品综合| av在线亚洲男人的天堂| 亚洲av综合色区| 国产a级片免费看| 欧美少妇在线观看| 精品丰满人妻无套内射| 99中文视频在线| 日韩电影天堂视频一区二区| 久久久久人妻精品一区三寸| 欧美日韩免费高清| 欧美激情在线一区| 国产成人一区二区| 免费99视频| 亚洲一区二区三区四区在线播放| 久草一区二区| 国产日韩av高清| 色大师av一区二区三区| 久久精品中文字幕免费mv| 国产一区二区精品免费| 亚洲 欧美 日韩 国产综合 在线| 久久av综合网| 国产一区精品视频| 国产在线视频2019最新视频| 欧美激情在线观看视频| 国产精品aaaa| 好吊色欧美一区二区三区四区 | 国产在线精品二区| 一区二区三区在线观看www| 国产激情在线观看视频| 黄页网站在线观看视频| 亚洲精品中字| 国产精品三级久久久久久电影 | 国产精品久久久久久久久久小说| 国产午夜精品视频一区二区三区| 亚洲www在线观看| 国产精品美女在线| 久久亚洲精品欧美| 国产女同一区二区| 欧美区高清在线| 色狠狠久久av五月综合|| 欧美日韩999| 日韩专区在线观看| 国产精品99久久久久久人| 国产日韩精品综合网站| 欧美久久电影| 肉大捧一出免费观看网站在线播放 | 无码人妻精品一区二区三区66 | 欧美激情视频在线免费观看 欧美视频免费一| 国产精品99久久久久久大便| 国产三级精品在线不卡| 欧美专区在线播放| 亚洲精品一品区二品区三品区| 国产精品久久久久久久久久新婚| 国产激情视频一区| 97国产在线播放| 超碰在线观看97| 国产在线不卡精品| 日韩视频精品| 亚洲成人av动漫| 久久成人一区二区| 国产精品爽黄69天堂a| 久久免费视频在线| 成人免费在线一区二区三区| 国产一级黄色录像片| 欧美不卡在线一区二区三区| 欧洲久久久久久| 日本成熟性欧美| 色中色综合成人| 亚洲在线免费看| 国产精品久久久久久久久借妻| 久久久久久久久久久久久久久久av| 99精品在线免费视频| 黑人中文字幕一区二区三区| 日韩精品久久久| 色综合久久av| 日本一区二区三区四区视频| 色乱码一区二区三在线看| 五月天色婷婷综合| 亚洲不卡中文字幕| 亚洲精品欧美日韩| 天天干天天色天天爽| 午夜精品在线视频| 欧美一区二区三区免费观看| 亚洲一区二区三区免费看| 亚洲一区二区三区乱码| 亚洲欧美精品在线观看| 亚洲欧洲中文| 中文字幕无码不卡免费视频| 在线视频福利一区| 亚洲免费久久| 涩涩日韩在线| 欧美有码在线视频| 欧美日韩国产综合在线| 国模精品一区二区三区色天香| 国内精品视频在线播放| 国产又大又硬又粗| 国产日韩欧美亚洲一区| 成人精品视频在线| 国产经品一区二区| 色偷偷噜噜噜亚洲男人| 久久精品一区中文字幕| 久久综合网hezyo| 精品蜜桃传媒| 亚洲三级一区| 日本一区二区在线播放| 欧美国产一区二区在线| 国产欧美欧洲| 久久综合久久综合这里只有精品| 国产mv免费观看入口亚洲| 国产精品视频成人| 久久99国产精品自在自在app| 亚洲伊人成综合成人网| 日韩高清专区| 国产在线精品一区二区中文| 超碰网在线观看| 久久久久久久久影视| 国产精品久久久久国产a级| 欧美精品亚州精品| 亚洲va久久久噜噜噜久久狠狠 | 欧美一区二区视频在线| 日韩人妻精品无码一区二区三区 | 免费观看国产成人| 国产精品一区在线观看| 久久久久高清| 久久久精品一区二区三区| 欧美日韩国产成人在线观看| 欧美一级在线看| 国产一区二区中文字幕免费看| 久久久伊人日本| 国产精品久久久av| 熟女少妇精品一区二区| 国内少妇毛片视频| 7777精品视频| 国产精品国产三级国产专区53| 午夜伦理精品一区| 国产一区在线播放| 久久久久中文字幕2018| 中文字幕一区综合| 欧美精品亚洲精品| 成人精品久久av网站| 久久精品99无色码中文字幕| 亚洲一区二区三区四区视频 | 亚洲综合精品一区二区| 男女视频网站在线观看| 久热免费在线观看| 久久91精品国产91久久跳| 欧美少妇在线观看| 国产精品96久久久久久又黄又硬| 国产精品久久999| 日韩欧美黄色大片| 91精品国产91久久久久久 | 91免费视频网站在线观看| 国产精品情侣自拍| 日本a级片在线播放| 99精品在线直播| 精品九九九九| 欧美第一黄网| 九色91国产|