Describe everything, including algorithms, program, sources, results and ?figures neatly and clearly in a study. Include everything in a single pdf document that can be
1. Formatting requirements
a.) Describe everything, including algorithms, program, sources, results and figures neatly and clearly in a study. Include everything in a single pdf document that can be read as a report, and can also be printed, if needed for reporting purposes.
b.) Do not submit executable code, but do include the source code as an Appendix in the document. Important: do not use screenshot or other graphical format to present code, it should be in text format. (otherwise it may disturb the plagiarism checker software).
c.) Your report should have a professional appearance, which is naturally expected at the graduate level. For example, scanned handwriting and hand-drawn figures are not acceptable! Note: even if content-wise the project has no errors, points can be lost for non-professional appearance.
Example report is uploaded as a file.
Assignment questions are also uploaded as a file
Plagiarism report required along with assignment.
Project 2
Consider the network topology design problem described below.
Given the location of n nodes in the plane by their coordinates. Create a network topology (represented by an undirected graph), such that it has the following properties:
1. It contains all the given nodes.
2. The degree of each vertex in the graph is at least 3, that is, each node is connected to at least 3 other nodes.
3. The diameter of the graph is at most 4. By this we mean that any node can be reached from any other node in at most 4 hops. (This can be checked by any shortest path algorithm, or by running a breadth-first search from every node.) That is, the diameter in our case refers to the hop-distance, not to any kind of geometric distance. Note that this diameter bound implies that the graph must be connected.
4. The total cost of the network topology is as low as possible, where the cost is measured by the total geometric length of all links. This means, you have compute how long each link is geometrically (that is, how far apart are its end-nodes), and then sum it up for all links that exist in the network. This sum represents the total cost that we would like to minimize, under the constraints described above in items 1,2,3. Note: do not confuse the geometric distance with the hop-distance, used in the previous point.
The goal is to create and implement two different heuristic algorithms for this network topology design problem, and experiment with them. By heuristic algorithm we mean that it does not have to guarantee the exact optimum, just a reasonable solution.
The algorithms are of your choice. For example, you may use any of the gen- eral purpose heuristic optimization algorithms from the course material, in- cluding, but not limited to, Branch and Bound, Simulated Annealing, Greedy Local Search, Tabu Search, Genetic Algorithm etc. Or, you can use any other algorithm that you may find by searching the literature, or you may create your own heuristic algorithms. Creative ideas will be appreciated! The two
1
chosen algorithms should be sufficiently different, so that it makes sense to let them compete in finding a good solution for this problem.
Note: It is often the case in practice that one only runs some simple heuristic, adjusted to the specific problem at hand, so it is not necessary to think about a complicated algorithm. As an example, one can start from some random initial solution, and then improve it step by step. The improvement is often just some simple change. For instance, we may delete a random edge from the graph, and add another random edge. If it results in actual improvement, then we accept it, and then repeat from the new situation. If it does not result in improvement, then it is rejected, and we may try again from the previous graph. Eventually, if for a certain time no improvement is found, then we stop, and return the result as a heuristic solution. Many (though not all!) heuristic algorithms are essentially just variants of the above simple principle. You will have the opportunity to play with it, and try your own creative ideas.
Tasks:
1. Describe the two algorithms you want to use for the problem. If some- thing is from the literature, or from the Internet, provide reference to the source. Describe how both algorithms work. First briefly explain informally the ideas. Then provide pseudo code for the description of both algorithms, with sufficient comments to make them readable and understandable by a human.
Note: If you want to use a standard heuristic algorithm, such as Simu- lated Annealing, Tabu Search, Genetic Algorithm etc. and something is not clear or not fully specified in the general description, do not get stuck! It is a typical real life situation that some details are not clear or not precise in a verbal description. In this case, take into account that in a heuristic algorithm there is no unique “standard” version for a specific application. In particular, the description of a general method does not detail how to apply it to a specific problem. Finding it out is part of your task! Therefore, do not hesitate to fill in the missing details using your own creativity.
2. Write a computer program that implements the algorithms. You may use any programming language under any operating system, this is entirely of your choice.
2
3. Run the program on randomly generated examples (at least 5 exam- ples), with both algorithms. The instances are created as follows. Pick n random points in the plane. This can be done by generating random numbers in some range and taking them as coordinates of the points. The value of n should be chosen such that the problem is not trivially small (say, you have n ≥ 15), but the running time is still reasonable (it does not run for days). Show how the random input is generated and present the actual data.
4. Represent the results of the experimental runs graphically. For each run (or for a subset of them, to limit the document size), show in a figure the positions of the nodes and the resulting network topology, that is, the graph. The details of the actual graphical representation are left to your choice, but the essential thing is that by looking at the figure the reader can be convinced that the algorithms find reasonable solutions. It is important that the figures need to be generated by software. If you compute only numerical values and then draw “by hand” from these numbers, that is not a professional solution and will result in reduced score.
Remark: It might be helpful to think about the whole project that your task is not only to solve the technical problem, but you also have to “sell” the results. Try to look at your work from the viewpoint of a potential “customer”: how convincing your presentation would look for a customer? If you were in the customer’s shoes, would you buy the software?
5. Draw some conclusion about how the two algorithms compare. Is one of them always better? If so, how much better? If the algorithms are iterative, then how does the cost change over the iterations? How many iterations are needed to reach a solution that does not improve significantly in further iterations? How does the experimental running times in the algorithms depend on the size of the problem? (You may run more experiments, if needed. The examples mentioned in item 3 represent only a minimum set of experiments.)
Formatting and submission guidelines: same as for Project 1.
3
,
Project X
Contents
Contents ………………………………………………………………………………………………………………………….. 1
Nulla ………………………………………………………………………………………………………………………………. 2
Dapibus …………………………………………………………………………………………………………………………… 2
Vestibulum ………………………………………………………………………………………………………………………. 3
Pretium …………………………………………………………………………………………………………………………… 4
ReadMe …………………………………………………………………………………………………………………………… 6
Code Appendix …………………………………………………………………………………………………………………. 7
Bibliography …………………………………………………………………………………………………………………… 10
Always give the title of what you’re working on
Nulla Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tristique sem in nunc porta congue. Praesent ullamcorper sem a leo sodales commodo. Pellentesque quis molestie purus, ut consequat tellus. Nulla mi nibh, fringilla vitae nisl et, dictum auctor velit. Nullam vehicula odio dui, et sagittis dolor suscipit sit amet. Sed sodales ex elit, id rutrum massa mattis a. Aliquam sed condimentum felis, in rhoncus nunc. Pellentesque tristique varius massa, ut fringilla augue condimentum vitae. Sed Mauris vitae libero vulputate, egestas ipsum sit amet, suscipit nunc. Nullam ultricies nec eros sit amet tempus.
1. Donec cursus diam tincidunt risus aliquam, a pulvinar nulla posuere. 2. Etiam malesuada ex massa, at rutrum mi euismod a. In feugiat id tellus id vestibulum.
Mauris sagittis purus a varius rutrum. 3. Cras eget nulla aliquet, porttitor dolor eu,
dictum metu Cursus Curabitur vehicula, libero et finibus pulvinar, nisi tortor efficitur turpis, iaculis finibus leo est nec nulla. Donec porttitor eros at consectetur mattis. Duis orci tellus, tristique non tellus at, lobortis lobortis nulla. Proin hendrerit nisi eget velit placerat, eget auctor orci elementum.
Dapibus
Divide your report into sections
Justify your points, and include supporting evidence.
Vivamus ac nisi sed nulla lacinia aliquet a in ligula. Vestibulum magna massa, facilisis non augue a, venenatis scelerisque neque. Curabitur id consequat mi, quis congue risus. Etiam a arcu auctor, mattis tortor ut, cursus erat. Integer euismod Figure 1 ligula quis nunc bibendum elementum. Curabitur gravida purus sit amet lorem porta bibendum. Aliquam ante arcu, malesuada non efficitur eget, viverra sit amet odio. Aenean ac mattis elit. Etiam vestibulum nisl et mauris congue, vitae malesuada elit sodales. Etiam et lobortis ex.
Vestibulum
Proin quis mauris interdum, tempus sapien sit amet, hendrerit quam. Nunc congue, nisi in semper posuere, neque purus fringilla purus, non pharetra nisl libero et lorem. Maecenas
In ultrices sem dolor, quis semper ante gravida vel. Aenean pharetra ornare mauris, sed ornare nisl molestie eu. In ultrices id nulla in volutpat. Pellentesque condimentum, est nec congue dapibus, sapien ante maximus velit, et placerat ipsum lacus non mi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Curabitur felis eros, tempus ullamcorper maximus sit amet, congue non nulla.
Figure 1 – Vestibulum mollis fringilla) un ( quam sed ( fermentu m).
Always cite, label, and describe all figures. Use explainable and interpretable figures (graphics) to
help the reader understand your point.
dictum suscipit posuere. Nulla ac faucibus mi. In sed nisi id libero bibendum rhoncus ac porttitor massa. Donec luctus tortor eget augue ultricies, quis finibus elit pharetra.
Maecenas volutpat justo neque, in sagittis
Make sure to change the size and tortor
finibus sed. Vestibulum eget positioning of your figures throughout the consectetur ante, at pretium est. report. This will keep the report visually interesting.
Nunc porttitor lorem eget fringilla ultrices.
Etiam odio lectus, hendrerit ac accumsan sit Figure 2 – Vestibulum mollis (fringilla) un amet, convallis et lectus. Suspequam (fermentum). volutpat ullamcorper. Curabitur ac velit non risus facilisis
volutpat eu vitae augue. Morbi laoreet odio id augue lobortis, non sagittis ex sodales. Nullam libero tellus, sollicitudin molestie tortor eget, porta lacinia libero. Curabitur vitae sagittis ligula, vel volutpat purus. Phasellus et purus tempus, euismod libero ac, porttitor dolor. Morbi hendrerit quam et tincidunt pretium. Pellentesque risus erat, scelerisque at tempus vel, luctus dignissim dolor. Morbi tempus nibh ut ligula malesuada bibendum. Cras in dapibus ligula. In rhoncus: “lacus eu erat dapibus, eget volutpat diam gravida. Cras fringilla sagittis sem, in convallis dolor aliquam at.” [1] Suspendisse congue, lectus faucibus sodales pretium, dui nisi pretium orci, at porta nisl massa nec enim. Praesent ut tellus eget nunc accumsan blandit sit amet eget dolor. Vivamus commodo cursus tortor, sed sagittis nisl ullamcorper vel. Aliquam aliquam accumsan maximus.
A very simple way to mark intext citation: put your citation
in italicized quotes, and then follow with the source number the citation is taken from. Source numbers and sources are listed in the Bibliography.
Pretium Maecenas elementum imperdiet risus ut fringilla :
DO NOT copy this example report and ndisse tempor follow it exactly. This is simply an example of how you can structure the project report.
Morbi Uras Quisque
1 0.5 Elementum
2 0.23 Vivamus
3 1.2 Velit 4 1.1 Elementum
5 1.14 Vivamus
6 1.3 Vivamus
7 1.5 Elementum 8 1.455 Elementum
9 1.6 Elementum
10 1.77 Elementum
11 1.87 Vivamus
12 1.88 Velit 13 1.89 Elementum
14 1.7 Elementum
15 1.899 Velit
16 1.81 Vivamus 17 1.92 Velit
18 1.93 Elementum
19 1.83 Vivamus
20 1.88 Elementum 21 1.9 Vivamus
22 1.99 Vivamus 23 2.01 Elementum 24 2.2 Elementum
25 2.45 Elementum
26 2.6 Velit 27 2.67 Velit 28 2.75 Elementum
29 2.8 Elementum Table 1 – Integer id venenatis enim.
These reports do not need to be excessively long.
However they must be long enough to sufficiently
describe and justify your approach, and should contain all requested information.
There are many ways to represent data. A good rule is to favor simplicity over complexity.
ReadMe
Nullam lacinia sodales efficitur. Sed eu euismod mau Donec mi tellus, ultrices vitae libero eu, consectetur s
Aenean aliquet ligula ut ex luctus, ac pretium lacus molestie. Nullam eros metus, pellentesque sed sodales ac, faucibus in ante. Suspendisse volutpat neque ac sapien interdum, vel vehicula
nulla suscipit.
• Cras accumsan, nisl eget tincidunt pellentesque, odio nisi ultricies est, sed fringilla lacus dui at elit.
• Aliquam vel mauris nec neque facilisis dignissim nec ut justo. Nullam maximus odio eu nulla ultricies mattis.
• Nunc venenatis enim at sem faucibus, nec lorem. • Aliquam feugiat, tortor ut aliquet efficitur, elit neque pellentesque orci, a bibendum
orci odio quis felis. Curabitur cursus imperdiet feugiat. Morbi feugiat congue egestas.
Pellentesque nec quam sed, dapibus dui. Nulla facilisi. Mauris a metus at justo maximus vehicula. Vestibulum
interdum nisl eu consequat consectetur. Praesent urna est, feugiat eu eleifend non, feugiat massa. Ut sit amet aliquet urna.
Morbi porttitor augue non varius porttitor. In hac habitasse platea dictumst. Mauris scelerisque lorem quam, eu commodo nisl feugiat id. Cras urna eros, accumsan blandit ante
at, interdum tempor arcu. Phasellus porta
Nam nec quam at orci euismod accumsan. Donec lobortis sed nunc sed congue. Duis et ornare justo.
You must include a README giving instructi ris. Duis efficitur quis mi ac
posuere. about your code. agittis ante.
ons
cursus ipsum luctus. Ut eget consequat
tincidunt sapien, vitae rutrum neque. Praesent quis quam laoreet, semper
nec
imperdiet ipsum, sed luctus ligula.
Code Appendix
DonecCursus.py
Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here Code goes here
You must include your code. The code must be runnable, and it must be submitted as text .
One possible way to submit code is through code blocks.
A code block is created by inserting a text box into word, setting the font to consolas, and removing any line spacing.
Make sure to indicate the filename that the code belongs to. If your code doesn’t run, we will not fix it, and you will lose substantial points.
Code block 2/3 from your preferred language Code block 2/3 from your preferred language
VenenatisTempor.py Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 fr om your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from y our preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code bl ock 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language Code block 1/3 from your preferred language
Code blocks are a very handy and readable way to store code in a Word file.
You can split them up across multiple pages as shown here.
Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language Code block 2/3 from your preferred language
Bibliography
Efficitur.py
Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language Code block 3/3 from your preferred language
# Beginning of code taken from source [2] Code Code Code Code Code Code Code Code Code Code Code Code Code # End of code taken from source [2]
The title of the next code block demarcates the end of the previous code block.
If you are citing someone else’s code, mark the beginning and end with comments.
Failure to properly cite someone else’s code is plagiarism and is not acceptable.
However, if you properly cite the source, then it is citation , and is thus acceptable.
Note: You cannot cite sources for all of your code. You may only use someone else’s code when the professor gives you explicit permission to do so i.e. shortest path algorithm in Project ( 1).
[1] https://www.lipsum.com/
[2] https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm
This is a very simple Bibliography, but it is acceptable. It is more important to cite your sources than to format them perfectly.
At a minimum for each source you need a number to identify the source, and information on how to access the sourc e.
A URL of a webpage alone is acceptable. For a book, you would need at least the title, author, and year.
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.