<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.vigyanwiki.in/index.php?action=history&amp;feed=atom&amp;title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F</id>
	<title>2-ऑप्ट - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.vigyanwiki.in/index.php?action=history&amp;feed=atom&amp;title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F"/>
	<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;action=history"/>
	<updated>2026-05-02T16:33:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209420&amp;oldid=prev</id>
		<title>Manidh at 06:44, 7 July 2023</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209420&amp;oldid=prev"/>
		<updated>2023-07-07T06:44:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:14, 7 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l210&quot;&gt;Line 210:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 210:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://www.cs.ubc.ca/~hutter/previous-earg/EmpAlgReadingGroup/TSP-JohMcg97.pdf The Traveling Salesman Problem: A Case Study in Local Optimization]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://www.cs.ubc.ca/~hutter/previous-earg/EmpAlgReadingGroup/TSP-JohMcg97.pdf The Traveling Salesman Problem: A Case Study in Local Optimization]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www-e.uni-magdeburg.de/mertens/TSP/node3.html Improving Solutions: 2-opt Exchanges]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www-e.uni-magdeburg.de/mertens/TSP/node3.html Improving Solutions: 2-opt Exchanges]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: अनुमानी एल्गोरिदम]] [[Category: ट्रैवलिंग सेल्समैन की समस्या]] &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: Machine Translated Page]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Created On 25/06/2023]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Created On 25/06/2023]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Vigyan Ready]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Machine Translated Page]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Pages with script errors]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Templates &lt;/ins&gt;Vigyan Ready&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:अनुमानी एल्गोरिदम]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ट्रैवलिंग सेल्समैन की समस्या&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Manidh</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209160&amp;oldid=prev</id>
		<title>Indicwiki: 6 revisions imported from :alpha:2-ऑप्ट</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209160&amp;oldid=prev"/>
		<updated>2023-07-06T12:37:29Z</updated>

		<summary type="html">&lt;p&gt;6 revisions imported from &lt;a href=&quot;https://alpha.indicwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&quot; class=&quot;extiw&quot; title=&quot;alpha:2-ऑप्ट&quot;&gt;alpha:2-ऑप्ट&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:07, 6 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Indicwiki</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209159&amp;oldid=prev</id>
		<title>alpha&gt;Neeraja: added Category:Vigyan Ready using HotCat</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209159&amp;oldid=prev"/>
		<updated>2023-07-06T10:51:40Z</updated>

		<summary type="html">&lt;p&gt;added &lt;a href=&quot;/wiki/Category:Vigyan_Ready&quot; title=&quot;Category:Vigyan Ready&quot;&gt;Category:Vigyan Ready&lt;/a&gt; using &lt;a href=&quot;/index.php?title=Help:Gadget-HotCat&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Help:Gadget-HotCat (page does not exist)&quot;&gt;HotCat&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:21, 6 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l216&quot;&gt;Line 216:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 216:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Machine Translated Page]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Machine Translated Page]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Created On 25/06/2023]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Created On 25/06/2023]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Vigyan Ready]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>alpha&gt;Neeraja</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209158&amp;oldid=prev</id>
		<title>alpha&gt;Sugatha: /* यह भी देखें */</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209158&amp;oldid=prev"/>
		<updated>2023-07-05T06:47:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;यह भी देखें&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:17, 5 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt wiki.svg|thumb|2-ऑप्ट]]अनुकूलन में, [[ट्रैवलिंग सेल्समैन की समस्या]] को हल करने के लिए 2-ऑप्ट एक सरल स्थानीय खोज (लोकल सर्च) एल्गोरिदम है। 2-ऑप्ट एल्गोरिदम पहली बार 1958 में क्रोज़ द्वारा प्रस्तावित किया गया था,&amp;lt;ref&amp;gt;G. A. Croes,  A method for solving traveling salesman problems. Operations Res. 6 (1958), pp., 791-812.&amp;lt;/ref&amp;gt; हालांकि मूल चाल का सुझाव फ्लड द्वारा पहले ही दिया जा चुका था।&amp;lt;ref&amp;gt;M. M. Flood, The traveling-salesman problem. Operations Res. 4 (1956), pp., 61-75.&amp;lt;/ref&amp;gt; इसके पीछे मुख्य विचार यह है कि एक ऐसा रूट अपनाया जाए जो स्वयं को पार करे और उसे पुन: व्यवस्थित किया जाए ताकि वह स्वयं पार न हो। संपूर्ण 2-ऑप्ट स्थानीय खोज स्वैपिंग तंत्र के हर संभव वैध संयोजन की तुलना करेगी। यह तकनीक ट्रैवलिंग सेल्समैन की समस्या के साथ-साथ कई संबंधित समस्याओं पर भी लागू की जा सकती है। इनमें वाहन रूटिंग समस्या (वीआरपी) के साथ-साथ कैपेसिटेटेड वीआरपी भी सम्मिलित है, जिसमें एल्गोरिदम में &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;मामूली &lt;/del&gt;संशोधन की आवश्यकता होती है।&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt wiki.svg|thumb|2-ऑप्ट]]अनुकूलन में, [[ट्रैवलिंग सेल्समैन की समस्या]] को हल करने के लिए 2-ऑप्ट एक सरल स्थानीय खोज (लोकल सर्च) एल्गोरिदम है। 2-ऑप्ट एल्गोरिदम पहली बार 1958 में क्रोज़ द्वारा प्रस्तावित किया गया था,&amp;lt;ref&amp;gt;G. A. Croes,  A method for solving traveling salesman problems. Operations Res. 6 (1958), pp., 791-812.&amp;lt;/ref&amp;gt; हालांकि मूल चाल का सुझाव फ्लड द्वारा पहले ही दिया जा चुका था।&amp;lt;ref&amp;gt;M. M. Flood, The traveling-salesman problem. Operations Res. 4 (1956), pp., 61-75.&amp;lt;/ref&amp;gt; इसके पीछे मुख्य विचार यह है कि एक ऐसा रूट अपनाया जाए जो स्वयं को पार करे और उसे पुन: व्यवस्थित किया जाए ताकि वह स्वयं पार न हो। संपूर्ण 2-ऑप्ट स्थानीय खोज स्वैपिंग तंत्र के हर संभव वैध संयोजन की तुलना करेगी। यह तकनीक ट्रैवलिंग सेल्समैन की समस्या के साथ-साथ कई संबंधित समस्याओं पर भी लागू की जा सकती है। इनमें वाहन रूटिंग समस्या (वीआरपी) के साथ-साथ कैपेसिटेटेड वीआरपी भी सम्मिलित है, जिसमें एल्गोरिदम में &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;साधारण &lt;/ins&gt;संशोधन की आवश्यकता होती है।&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== स्यूडोकोड ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== स्यूडोकोड ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;दृष्टिगत रूप से, एक स्वैप इस तरह दिखता है:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;दृष्टिगत रूप से, एक स्वैप इस तरह दिखता है:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l64&quot;&gt;Line 64:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 64:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;साथ ही वहां वर्ग दूरी का उपयोग करने से वर्गमूल फ़ंक्शन कॉल को छोड़कर गणना को कम करने में सहायता मिलती है। चूँकि हम केवल दो दूरियों की तुलना करने की परवाह करते हैं, सटीक दूरी की नहीं, इससे चीज़ों की गति बढ़ाने में मदद मिलेगी। यह बहुत ज़्यादा नहीं है, लेकिन यह लाखों शीर्षों वाले बड़े डेटासेट के साथ सहायता करता है।&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;साथ ही वहां वर्ग दूरी का उपयोग करने से वर्गमूल फ़ंक्शन कॉल को छोड़कर गणना को कम करने में सहायता मिलती है। चूँकि हम केवल दो दूरियों की तुलना करने की परवाह करते हैं, सटीक दूरी की नहीं, इससे चीज़ों की गति बढ़ाने में मदद मिलेगी। यह बहुत ज़्यादा नहीं है, लेकिन यह लाखों शीर्षों वाले बड़े डेटासेट के साथ सहायता करता है।&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;सी&lt;/del&gt;++ कोड ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C&lt;/ins&gt;++ कोड ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;algorithm&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;algorithm&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l189&quot;&gt;Line 189:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 189:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== दृश्य-चित्रण ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== दृश्य-चित्रण ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt Swap Path Visualization.gif|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;300x300px&lt;/del&gt;|alt=2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन|2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन|left]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt Swap Path Visualization.gif|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;161x161px&lt;/ins&gt;|alt=2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन|2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन|left]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>alpha&gt;Sugatha</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209157&amp;oldid=prev</id>
		<title>alpha&gt;Sweta at 05:43, 5 July 2023</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209157&amp;oldid=prev"/>
		<updated>2023-07-05T05:43:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:13, 5 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt wiki.svg|thumb|2-ऑप्ट]]अनुकूलन में, [[ट्रैवलिंग सेल्समैन की समस्या]] को हल करने के लिए 2-ऑप्ट एक सरल स्थानीय खोज एल्गोरिदम है। 2-ऑप्ट एल्गोरिदम पहली बार 1958 में क्रोज़ द्वारा प्रस्तावित किया गया था,&amp;lt;ref&amp;gt;G. A. Croes,  A method for solving traveling salesman problems. Operations Res. 6 (1958), pp., 791-812.&amp;lt;/ref&amp;gt; हालांकि मूल चाल का सुझाव फ्लड द्वारा पहले ही दिया जा चुका था।&amp;lt;ref&amp;gt;M. M. Flood, The traveling-salesman problem. Operations Res. 4 (1956), pp., 61-75.&amp;lt;/ref&amp;gt; इसके पीछे मुख्य विचार यह है कि एक ऐसा रूट अपनाया जाए जो स्वयं को पार करे और उसे पुन: व्यवस्थित किया जाए ताकि वह स्वयं पार न हो। &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;एक &lt;/del&gt;संपूर्ण 2-ऑप्ट स्थानीय खोज स्वैपिंग तंत्र के हर संभव वैध संयोजन की तुलना करेगी। यह तकनीक ट्रैवलिंग सेल्समैन की समस्या के साथ-साथ कई संबंधित समस्याओं पर भी लागू की जा सकती है। इनमें वाहन रूटिंग समस्या (वीआरपी) के साथ-साथ कैपेसिटेटेड वीआरपी भी &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;शामिल &lt;/del&gt;है, जिसमें एल्गोरिदम में मामूली संशोधन की आवश्यकता होती है।&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:2-opt wiki.svg|thumb|2-ऑप्ट]]अनुकूलन में, [[ट्रैवलिंग सेल्समैन की समस्या]] को हल करने के लिए 2-ऑप्ट एक सरल स्थानीय खोज &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(लोकल सर्च) &lt;/ins&gt;एल्गोरिदम है। 2-ऑप्ट एल्गोरिदम पहली बार 1958 में क्रोज़ द्वारा प्रस्तावित किया गया था,&amp;lt;ref&amp;gt;G. A. Croes,  A method for solving traveling salesman problems. Operations Res. 6 (1958), pp., 791-812.&amp;lt;/ref&amp;gt; हालांकि मूल चाल का सुझाव फ्लड द्वारा पहले ही दिया जा चुका था।&amp;lt;ref&amp;gt;M. M. Flood, The traveling-salesman problem. Operations Res. 4 (1956), pp., 61-75.&amp;lt;/ref&amp;gt; इसके पीछे मुख्य विचार यह है कि एक ऐसा रूट अपनाया जाए जो स्वयं को पार करे और उसे पुन: व्यवस्थित किया जाए ताकि वह स्वयं पार न हो। संपूर्ण 2-ऑप्ट स्थानीय खोज स्वैपिंग तंत्र के हर संभव वैध संयोजन की तुलना करेगी। यह तकनीक ट्रैवलिंग सेल्समैन की समस्या के साथ-साथ कई संबंधित समस्याओं पर भी लागू की जा सकती है। इनमें वाहन रूटिंग समस्या (वीआरपी) के साथ-साथ कैपेसिटेटेड वीआरपी भी &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;सम्मिलित &lt;/ins&gt;है, जिसमें एल्गोरिदम में मामूली संशोधन की आवश्यकता होती है।&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== स्यूडोकोड ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== स्यूडोकोड ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;दृष्टिगत रूप से, एक स्वैप इस तरह दिखता है:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;दृष्टिगत रूप से, एक स्वैप इस तरह दिखता है:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;नोट: यदि आप किसी विशेष नोड या डिपो पर &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;शुरू &lt;/del&gt;/ समाप्त करते हैं, तो आपको इसे स्वैपिंग के लिए योग्य आवेदक के रूप में परिवर्तन से निकालना होगा, क्रम को व्युत्क्रम से अमान्य पथ हो जाएगा।&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;नोट: यदि आप किसी विशेष नोड या डिपो पर &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;प्रारम्भ &lt;/ins&gt;/ समाप्त करते हैं, तो आपको इसे स्वैपिंग के लिए योग्य आवेदक के रूप में परिवर्तन से निकालना होगा, क्रम को व्युत्क्रम से अमान्य पथ हो जाएगा।&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;उदाहरण के लिए, A स्थित डिपो के साथ:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;उदाहरण के लिए, A स्थित डिपो के साथ:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== कुशल कार्यान्वयन ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== कुशल कार्यान्वयन ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;नए रूट का निर्माण करना और नए रूट की दूरी की गणना करना एक बहुत अधिक संचालन हो सकता है, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;आमतौर पर &lt;/del&gt;&amp;lt;math&amp;gt;O(n)&amp;lt;/math&amp;gt; जहां {{mvar|n}} रूट में शीर्षों की संख्या है। इसे &amp;lt;math&amp;gt;O(1)&amp;lt;/math&amp;gt; संचालन निष्पादित करके सममित &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;मामले &lt;/del&gt;में (जहां दो नोड्स के बीच की दूरी प्रत्येक विपरीत दिशा में समान है) छोड़ा जा सकता है। चूंकि 2-ऑप्ट संचालन में 2 किनारों को हटाना और 2 अलग-अलग किनारों को जोड़ना &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;शामिल &lt;/del&gt;है, इसलिए हम केवल उन किनारों की दूरियां घटा और जोड़ सकते हैं।&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;नए रूट का निर्माण करना और नए रूट की दूरी की गणना करना एक बहुत अधिक संचालन हो सकता है, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;सामान्यतः &lt;/ins&gt;&amp;lt;math&amp;gt;O(n)&amp;lt;/math&amp;gt; जहां {{mvar|n}} रूट में शीर्षों की संख्या है। इसे &amp;lt;math&amp;gt;O(1)&amp;lt;/math&amp;gt; संचालन निष्पादित करके सममित &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;स्तिथि &lt;/ins&gt;में (जहां दो नोड्स के बीच की दूरी प्रत्येक विपरीत दिशा में समान है) छोड़ा जा सकता है। चूंकि 2-ऑप्ट संचालन में 2 किनारों को हटाना और 2 अलग-अलग किनारों को जोड़ना &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;सम्मिलित &lt;/ins&gt;है, इसलिए हम केवल उन किनारों की दूरियां घटा और जोड़ सकते हैं।&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  lengthDelta = - dist(route[v1], route[v1+1]) - dist(route[v2], route[v2+1]) + dist(route[v1+1], route[v2+1]) + dist(route[v1], route[v2])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  lengthDelta = - dist(route[v1], route[v1+1]) - dist(route[v2], route[v2+1]) + dist(route[v1+1], route[v2+1]) + dist(route[v1], route[v2])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>alpha&gt;Sweta</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209156&amp;oldid=prev</id>
		<title>alpha&gt;Sweta at 05:40, 5 July 2023</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209156&amp;oldid=prev"/>
		<updated>2023-07-05T05:40:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;amp;diff=209156&amp;amp;oldid=209155&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>alpha&gt;Sweta</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209155&amp;oldid=prev</id>
		<title>alpha&gt;Sweta at 10:21, 4 July 2023</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209155&amp;oldid=prev"/>
		<updated>2023-07-04T10:21:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;amp;diff=209155&amp;amp;oldid=209154&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>alpha&gt;Sweta</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209154&amp;oldid=prev</id>
		<title>alpha&gt;Indicwiki: Created page with &quot;2-ऑप्टऑप्टिमाइज़ेशन (गणित) में, 2-ऑप्ट ट्रैवलिंग सेल्सम...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=2-%E0%A4%91%E0%A4%AA%E0%A5%8D%E0%A4%9F&amp;diff=209154&amp;oldid=prev"/>
		<updated>2023-06-25T11:50:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/wiki/File:2-opt_wiki.svg&quot; title=&quot;File:2-opt wiki.svg&quot;&gt;thumb|2-ऑप्ट&lt;/a&gt;ऑप्टिमाइज़ेशन (गणित) में, 2-ऑप्ट ट्रैवलिंग सेल्सम...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:2-opt wiki.svg|thumb|2-ऑप्ट]]ऑप्टिमाइज़ेशन (गणित) में, 2-ऑप्ट [[ट्रैवलिंग सेल्समैन की समस्या]] को हल करने के लिए एक सरल स्थानीय खोज एल्गोरिदम है।&lt;br /&gt;
2-ऑप्ट एल्गोरिदम पहली बार क्रोज़ द्वारा 1958 में प्रस्तावित किया गया था,&amp;lt;ref&amp;gt;G. A. Croes,  A method for solving traveling salesman problems. Operations Res. 6 (1958), pp., 791-812.&amp;lt;/ref&amp;gt; हालाँकि बुनियादी कदम का सुझाव फ्लड ने पहले ही दे दिया था।&amp;lt;ref&amp;gt;M. M. Flood, The traveling-salesman problem. Operations Res. 4 (1956), pp., 61-75.&amp;lt;/ref&amp;gt; इसके पीछे मुख्य विचार यह है कि ऐसा रास्ता अपनाया जाए जो खुद को पार करे और उसे फिर से व्यवस्थित किया जाए ताकि ऐसा न हो। एक पूर्ण 2-ऑप्ट स्थानीय खोज स्वैपिंग तंत्र के हर संभावित वैध संयोजन की तुलना करेगी। इस तकनीक को ट्रैवलिंग सेल्समैन की समस्या के साथ-साथ कई संबंधित समस्याओं पर भी लागू किया जा सकता है। इनमें वाहन रूटिंग समस्या (वीआरपी) के साथ-साथ कैपेसिटेटेड वीआरपी भी शामिल है, जिसके लिए एल्गोरिदम में मामूली संशोधन की आवश्यकता होती है।&lt;br /&gt;
&lt;br /&gt;
== स्यूडोकोड ==&lt;br /&gt;
देखने में, एक स्वैप इस प्रकार दिखता है:&lt;br /&gt;
&lt;br /&gt;
  - ए बी - - ए - बी -&lt;br /&gt;
      × ==&amp;gt;&lt;br /&gt;
  - सी डी - - सी - डी -&lt;br /&gt;
&lt;br /&gt;
स्यूडोकोड में, वह तंत्र जिसके द्वारा 2-ऑप्ट स्वैप किसी दिए गए मार्ग में हेरफेर करता है, इस प्रकार है। यहां v1 और v2 किनारों के पहले शीर्ष हैं जिन्हें आप मार्ग से गुजरते समय स्वैप करना चाहते हैं:&lt;br /&gt;
 प्रक्रिया 2optस्वैप(मार्ग, v1, v2) {&lt;br /&gt;
     1. रूट[0] से रूट[v1] लें और उन्हें new_route के क्रम में जोड़ें&lt;br /&gt;
     2. रूट[v1+1] से रूट[v2] लें और उन्हें उल्टे क्रम में new_route में जोड़ें&lt;br /&gt;
     3. रूट[प्रारंभ] के लिए रूट[v2+1] लें और उन्हें new_route के क्रम में जोड़ें&lt;br /&gt;
     नया_मार्ग लौटें;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
मनमाने इनपुट के साथ उपरोक्त का एक उदाहरण यहां दिया गया है:&lt;br /&gt;
&lt;br /&gt;
* उदाहरण मार्ग: ए → बी → ई → डी → सी → एफ → जी → एच → ए&lt;br /&gt;
* उदाहरण पैरामीटर: v1=1, v2=4 (प्रारंभिक सूचकांक 0 मानते हुए)&lt;br /&gt;
* new_route की सामग्री चरण दर चरण:&lt;br /&gt;
*# (ए → बी)&lt;br /&gt;
*# ए → बी → (सी → डी → ई)&lt;br /&gt;
*# ए → बी → सी → डी → ई → (एफ → जी → एच → ए)&lt;br /&gt;
&lt;br /&gt;
उपरोक्त तंत्र का उपयोग करते हुए यह संपूर्ण 2-ऑप्ट स्वैप है:&lt;br /&gt;
&lt;br /&gt;
 जब तक कोई सुधार न हो तब तक दोहराएँ {&lt;br /&gt;
     best_distance = गणना कुल दूरी (मौजूदा_मार्ग)&lt;br /&gt;
     फिर से शुरू करें:&lt;br /&gt;
     (i = 0; i &amp;lt;= स्वैप किए जाने योग्य नोड्स की संख्या - 1; i++) के लिए {&lt;br /&gt;
         (j = i + 1; j &amp;lt;= स्वैप किए जाने योग्य नोड्स की संख्या; j++) के लिए {&lt;br /&gt;
             नया_रूट = 2ऑप्टस्वैप(मौजूदा_रूट, आई, जे)&lt;br /&gt;
             new_distance = गणना कुल दूरी (new_route)&lt;br /&gt;
             यदि (नई_दूरी &amp;lt; सर्वोत्तम_दूरी) {&lt;br /&gt;
                 मौजूदा_मार्ग = नया_मार्ग&lt;br /&gt;
                 best_distance = new_distance&lt;br /&gt;
                 फिर से प्रारंभ करें&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
नोट: यदि आप किसी विशेष नोड या डिपो पर शुरू/समाप्ति करते हैं, तो आपको इसे स्वैपिंग के लिए योग्य उम्मीदवार के रूप में खोज से हटाना होगा, क्योंकि ऑर्डर को उलटने से अमान्य पथ हो जाएगा।&lt;br /&gt;
&lt;br /&gt;
उदाहरण के लिए, ए पर डिपो के साथ:&lt;br /&gt;
&lt;br /&gt;
    ए → बी → सी → डी → ए&lt;br /&gt;
&lt;br /&gt;
नोड[0] और नोड[2] का उपयोग करके स्वैप करने से परिणाम प्राप्त होंगे&lt;br /&gt;
&lt;br /&gt;
    सी → बी → ए → डी → ए&lt;br /&gt;
&lt;br /&gt;
जो वैध नहीं है (ए, डिपो से नहीं निकलता है)।&lt;br /&gt;
&lt;br /&gt;
== कुशल कार्यान्वयन ==&lt;br /&gt;
&lt;br /&gt;
नया मार्ग बनाना और नये मार्ग की दूरी की गणना करना आमतौर पर बहुत महंगा काम हो सकता है &amp;lt;math&amp;gt;O(n)&amp;lt;/math&amp;gt; कहाँ {{mvar|n}} मार्ग में शीर्षों की संख्या है। इसे सममित स्थिति में (जहां दो नोड्स के बीच की दूरी प्रत्येक विपरीत दिशा में समान होती है) एक प्रदर्शन करके छोड़ा जा सकता है &amp;lt;math&amp;gt;O(1)&amp;lt;/math&amp;gt; कार्यवाही। चूँकि 2-ऑप्ट ऑपरेशन में 2 किनारों को हटाना और 2 अलग-अलग किनारों को जोड़ना शामिल है, हम केवल उन किनारों की दूरी को घटा और जोड़ सकते हैं।&lt;br /&gt;
&lt;br /&gt;
 लंबाईडेल्टा = - जिला(मार्ग[v1], मार्ग[v1+1]) - जिला(मार्ग[v2], मार्ग[v2+1]) + जिला(मार्ग[v1+1], मार्ग[v2+1]) + जिला(मार्ग[v1], मार्ग[v2])&lt;br /&gt;
&lt;br /&gt;
अगर &amp;lt;code&amp;gt;lengthDelta&amp;lt;/code&amp;gt; नकारात्मक है इसका मतलब यह होगा कि स्वैप के बाद नई दूरी छोटी होगी। एक बार ये तो पता चल ही जाता है &amp;lt;code&amp;gt;lengthDelta&amp;lt;/code&amp;gt; नकारात्मक है, तो हम 2-ऑप्ट स्वैप करते हैं। इससे हम बहुत सारी संगणना से बच जाते हैं।&lt;br /&gt;
&lt;br /&gt;
इसके अलावा वहां वर्ग दूरी का उपयोग करने से वर्गमूल फ़ंक्शन कॉल को छोड़ कर गणना को कम करने में मदद मिलती है। चूँकि हम केवल दो दूरियों की तुलना करने की परवाह करते हैं, सटीक दूरी की नहीं, इससे चीजों को गति देने में मदद मिलेगी। यह ज़्यादा नहीं है, लेकिन यह लाखों शीर्षों वाले बड़े डेटासेट में मदद करता है&lt;br /&gt;
&lt;br /&gt;
=== सी++ कोड ===&lt;br /&gt;
&amp;lt;सिंटैक्सहाइलाइट लैंग= सी++ &amp;gt;&lt;br /&gt;
#&amp;lt;एल्गोरिदम&amp;gt;शामिल करें&lt;br /&gt;
#शामिल &amp;lt;यादृच्छिक&amp;gt;&lt;br /&gt;
#शामिल &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#शामिल &amp;lt;वेक्टर&amp;gt;&lt;br /&gt;
&lt;br /&gt;
नेमस्पेस एसटीडी का उपयोग करना;&lt;br /&gt;
&lt;br /&gt;
क्लास पॉइंट {&lt;br /&gt;
  जनता:&lt;br /&gt;
पूर्णांक एक्स, वाई;&lt;br /&gt;
&lt;br /&gt;
बिंदु(int x, int y) {&lt;br /&gt;
यह-&amp;gt;x = x;&lt;br /&gt;
यह-&amp;gt;y = y;&lt;br /&gt;
}&lt;br /&gt;
बिंदु() {&lt;br /&gt;
यह-&amp;gt;x = 0;&lt;br /&gt;
यह-&amp;gt;y = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// दो बिंदुओं के बीच की दूरी का वर्ग&lt;br /&gt;
इनलाइन int dist2(const प्वाइंट और अन्य) const {&lt;br /&gt;
वापसी (एक्स - अन्य.एक्स) * (एक्स - अन्य.एक्स) + (वाई - अन्य.वाई) * (वाई - अन्य.वाई);&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// पूरे पथ की दूरी की गणना करें (बिंदुओं के बीच वर्ग दूरी)&lt;br /&gt;
int pathLengthSq(वेक्टर&amp;lt;प्वाइंट&amp;gt; &amp;amp;पथ) {&lt;br /&gt;
पूर्णांक लंबाई = 0;&lt;br /&gt;
for (int i = 0; i &amp;lt; path.size(); i++) {&lt;br /&gt;
लंबाई += पथ[i].dist2(पथ[(i + 1) % पथ.आकार()]);&lt;br /&gt;
}&lt;br /&gt;
वापसी की लंबाई;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 2-ऑप्ट स्वैप करें&lt;br /&gt;
शून्य do2Opt(वेक्टर&amp;lt;प्वाइंट&amp;gt; &amp;amp;पथ, int i, int j) {&lt;br /&gt;
रिवर्स (शुरू (पथ) + i + 1, आरंभ (पथ) + j + 1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// पथ प्रिंट करें।&lt;br /&gt;
शून्य प्रिंटपाथ(स्ट्रिंग पथनाम, वेक्टर&amp;lt;प्वाइंट&amp;gt; और पथ) {&lt;br /&gt;
प्रिंटफ( %s = [ , pathName.c_str());&lt;br /&gt;
for (int i = 0; i &amp;lt; path.size(); i++) {&lt;br /&gt;
यदि (i % 10 == 0) {&lt;br /&gt;
प्रिंटफ( \n );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
यदि (i &amp;lt;path.size() - 1) {&lt;br /&gt;
प्रिंटफ( [ %3d, %3d], , पथ[i].x, पथ[i].y);&lt;br /&gt;
}&lt;br /&gt;
अन्य {&lt;br /&gt;
प्रिंटफ ([ %3d, %3d] , पथ[i].x, पथ[i].y);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
प्रिंटफ( \n];\n );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 0 और 1000 के बीच यादृच्छिक बिंदुओं के साथ लंबाई n का एक पथ बनाएं&lt;br /&gt;
वेक्टर&amp;lt;प्वाइंट&amp;gt; createRandomPath(int n) {&lt;br /&gt;
वेक्टर&amp;lt;प्वाइंट&amp;gt; पथ;&lt;br /&gt;
के लिए (int i = 0; i &amp;lt; n; i++) {&lt;br /&gt;
path.push_back(प्वाइंट(रैंड() % 1000, रैंड() % 1000));&lt;br /&gt;
}&lt;br /&gt;
वापसी का पथ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
मुख्य प्रवेश बिंदु() {&lt;br /&gt;
वेक्टर&amp;lt;बिंदु&amp;gt; पथ = createRandomPath(100);&lt;br /&gt;
प्रिंटपाथ(पथ1, पथ);&lt;br /&gt;
&lt;br /&gt;
int curLength = pathLengthSq(पथ);&lt;br /&gt;
int n = path.size();&lt;br /&gt;
बूल पाया गया सुधार = सत्य;&lt;br /&gt;
जबकि (सुधार मिला) {&lt;br /&gt;
पाया गया सुधार = गलत;&lt;br /&gt;
के लिए (int i = 0; i &amp;lt;= n - 2; i++) {&lt;br /&gt;
के लिए (int j = i + 1; j &amp;lt;= n - 1; j++) {&lt;br /&gt;
int lengthDelta = -path[i].dist2(path[(i + 1) % n]) - path[j].dist2(path[(j + 1) % n]) + path[i].dist2(path [जे]) + पथ[(i + 1) % n].dist2(पथ[(j + 1) % n]);&lt;br /&gt;
&lt;br /&gt;
// यदि पथ की लंबाई कम हो गई है, तो 2-ऑप्ट स्वैप करें&lt;br /&gt;
अगर (लंबाईडेल्टा &amp;lt; 0) {&lt;br /&gt;
do2Opt(पथ, i, j);&lt;br /&gt;
कर्ल लंबाई + = लंबाई डेल्टा;&lt;br /&gt;
पाया गया सुधार = सत्य;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
प्रिंटपाथ(पथ2, पथ);&lt;br /&gt;
वापसी 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/सिंटैक्सहाइलाइट&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== आउटपुट ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
path1 = [&lt;br /&gt;
    [ 743, 933], [ 529, 262], [ 508, 700], [ 256, 752], [ 119, 256], [ 351, 711], [ 705, 843], [ 393, 108], [ 366, 330], [ 932, 169],&lt;br /&gt;
    [ 847, 917], [ 868, 972], [ 223, 980], [ 592, 549], [ 169, 164], [ 427, 551], [ 624, 190], [ 920, 635], [ 310, 944], [ 484, 862],&lt;br /&gt;
    [ 301, 363], [ 236, 710], [ 431, 876], [ 397, 929], [ 491, 675], [ 344, 190], [ 425, 134], [  30, 629], [ 126, 727], [ 334, 743],&lt;br /&gt;
    [ 760, 104], [ 620, 749], [ 932, 256], [ 613, 572], [ 509, 490], [ 405, 119], [  49, 695], [ 719, 327], [ 824, 497], [ 649, 596],&lt;br /&gt;
    [ 184, 356], [ 245,  93], [ 306,   7], [ 754, 509], [ 665, 352], [ 738, 783], [ 690, 801], [ 337, 330], [ 656, 195], [  11, 963],&lt;br /&gt;
    [  42, 427], [ 968, 106], [   1, 212], [ 480, 510], [ 571, 658], [ 814, 331], [ 564, 847], [ 625, 197], [ 931, 438], [ 487,  18],&lt;br /&gt;
    [ 187, 151], [ 179, 913], [ 750, 995], [ 913, 750], [ 134, 562], [ 547, 273], [ 830, 521], [ 557, 140], [ 726, 678], [ 597, 503],&lt;br /&gt;
    [ 893, 408], [ 238, 988], [  93,  85], [ 720, 188], [ 746, 211], [ 710, 387], [ 887, 209], [ 103, 668], [ 900, 473], [ 105, 674],&lt;br /&gt;
    [ 952, 183], [ 787, 370], [ 410, 302], [ 110, 905], [ 996, 400], [ 585, 142], [  47, 860], [ 731, 924], [ 386, 158], [ 400, 219],&lt;br /&gt;
    [  55, 415], [ 874, 682], [   6,  61], [ 268, 602], [ 470, 365], [ 723, 518], [ 106,  89], [ 130, 319], [ 732, 655], [ 974, 993]&lt;br /&gt;
];&lt;br /&gt;
path2 = [&lt;br /&gt;
    [ 743, 933], [ 750, 995], [ 847, 917], [ 868, 972], [ 974, 993], [ 913, 750], [ 920, 635], [ 874, 682], [ 726, 678], [ 732, 655],&lt;br /&gt;
    [ 830, 521], [ 900, 473], [ 893, 408], [ 931, 438], [ 996, 400], [ 932, 256], [ 952, 183], [ 968, 106], [ 932, 169], [ 887, 209],&lt;br /&gt;
    [ 760, 104], [ 746, 211], [ 720, 188], [ 656, 195], [ 625, 197], [ 624, 190], [ 585, 142], [ 557, 140], [ 487,  18], [ 306,   7],&lt;br /&gt;
    [ 245,  93], [ 187, 151], [ 169, 164], [ 106,  89], [  93,  85], [   6,  61], [   1, 212], [ 119, 256], [ 130, 319], [ 184, 356],&lt;br /&gt;
    [ 301, 363], [ 337, 330], [ 366, 330], [ 410, 302], [ 344, 190], [ 393, 108], [ 405, 119], [ 425, 134], [ 386, 158], [ 400, 219],&lt;br /&gt;
    [ 529, 262], [ 547, 273], [ 470, 365], [ 509, 490], [ 597, 503], [ 710, 387], [ 665, 352], [ 719, 327], [ 814, 331], [ 787, 370],&lt;br /&gt;
    [ 824, 497], [ 754, 509], [ 723, 518], [ 649, 596], [ 571, 658], [ 613, 572], [ 592, 549], [ 480, 510], [ 427, 551], [ 268, 602],&lt;br /&gt;
    [ 134, 562], [  55, 415], [  42, 427], [  30, 629], [  49, 695], [ 103, 668], [ 105, 674], [ 126, 727], [  47, 860], [  11, 963],&lt;br /&gt;
    [ 110, 905], [ 179, 913], [ 223, 980], [ 238, 988], [ 310, 944], [ 256, 752], [ 236, 710], [ 334, 743], [ 351, 711], [ 491, 675],&lt;br /&gt;
    [ 508, 700], [ 431, 876], [ 397, 929], [ 484, 862], [ 564, 847], [ 620, 749], [ 690, 801], [ 738, 783], [ 705, 843], [ 731, 924]&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== विज़ुअलाइज़ेशन ===&lt;br /&gt;
[[File:2-opt Swap Path Visualization.gif|600px|center|alt=2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन|2-ऑप्ट स्वैप पथ विज़ुअलाइज़ेशन]]&lt;br /&gt;
&lt;br /&gt;
==यह भी देखें==&lt;br /&gt;
*[[3-ऑप्ट]]&lt;br /&gt;
*[[स्थानीय खोज (अनुकूलन)]]&lt;br /&gt;
*लिन-कर्निघन अनुमानी&lt;br /&gt;
&lt;br /&gt;
==संदर्भ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
* {{cite book|author = G. A. CROES | year = 1958 | title = A method for solving traveling salesman problems | publisher = Operations Res. 6 (1958), pp., 791-812.}}&lt;br /&gt;
* {{cite book|author = M. M. FLOOD | year = 1956 | title = The traveling-salesman problem | publisher = Operations Res. 4 (1956), pp., 61-75.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==बाहरी संबंध==&lt;br /&gt;
*[https://www.cs.ubc.ca/~hutter/previous-earg/EmpAlgReadingGroup/TSP-JohMcg97.pdf The Traveling Salesman Problem: A Case Study in Local Optimization]&lt;br /&gt;
*[http://www-e.uni-magdeburg.de/mertens/TSP/node3.html Improving Solutions: 2-opt Exchanges]&lt;br /&gt;
[[Category: अनुमानी एल्गोरिदम]] [[Category: ट्रैवलिंग सेल्समैन की समस्या]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Machine Translated Page]]&lt;br /&gt;
[[Category:Created On 25/06/2023]]&lt;/div&gt;</summary>
		<author><name>alpha&gt;Indicwiki</name></author>
	</entry>
</feed>