質問編集履歴

4

改善

2019/06/08 15:39

投稿

AtsuyaShono
AtsuyaShono

スコア11

test CHANGED
File without changes
test CHANGED
@@ -38,11 +38,11 @@
38
38
 
39
39
 
40
40
 
41
- コネクト
41
+ コネクト(繋げなければならないノード同士)
42
42
 
43
- 繋げたいのノード番号
43
+ 繋げたい出発地点のノード番号
44
44
 
45
- 繋げるのノード番号(複数あり)
45
+ 繋げる目的地点のノード番号(複数あり)
46
46
 
47
47
 
48
48
 
@@ -64,7 +64,7 @@
64
64
 
65
65
 
66
66
 
67
- それぞれグループごとにコネクト通りに、つまり繋げる元からどこかの経路を通って繋げる先のノードに繋げなければなりません。
67
+ それぞれグループごとにコネクト通りに、つまり出発地点からどこかの経路を通って到着地点のノードに繋げなければなりません。
68
68
 
69
69
  なおかつ、同じ辺を使うのを避け、辺の重複度を最小化したいという問題です。
70
70
 
@@ -118,7 +118,9 @@
118
118
 
119
119
  そして、グループ内で通る経路の重複度の合計最大値を最小化することが目的である。
120
120
 
121
+ この例だと重複度合計はグループID.0は4,ID.1は3,ID.2は3,
122
+
121
- この例だと重複度合計の最大値は4である。
123
+ よって最大値は4である。
122
124
 
123
125
 
124
126
 
@@ -137,3 +139,7 @@
137
139
 
138
140
 
139
141
  例えば、先にルーティングしておくと比較的、後の経路が重複しなくなるようなグループの順番でルーティングする方法(どうすればいいか探す必要がありますが。。)や、数理計画法のようなアプローチができるかと考えましたが、他に良い方法がありませんでしょうか?
142
+
143
+
144
+
145
+ 様々なアイデアをいただければありがたいのと、似たような解法が紹介されているサイトなどあれば教えていただきたいです。

3

補足図追加

2019/06/08 15:39

投稿

AtsuyaShono
AtsuyaShono

スコア11

test CHANGED
File without changes
test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
 
82
82
 
83
- **※補足 不可な例です。**
83
+ **※補足図1 不可な例です。**
84
84
 
85
85
  ![イメージ説明](793129ffa13927b52c16ac06cfc00d31.png)
86
86
 
@@ -100,7 +100,7 @@
100
100
 
101
101
 
102
102
 
103
- **補足 以下もエッジ5-6が使われているのでそれより1番目の例の方が最適であると言えます。**
103
+ **補足図2 以下もエッジ5-6が使われているのでそれより1番目の例の方が最適であると言えます。**
104
104
 
105
105
  ![イメージ説明](fe251ce6d06c740aaf0a5468259b0921.png)
106
106
 

2

問題補足

2019/06/06 06:31

投稿

AtsuyaShono
AtsuyaShono

スコア11

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,10 @@
56
56
 
57
57
  例として以下のようにグラフがあり、コネクト、グループがあるとします。
58
58
 
59
+
60
+
61
+ **※補足 グラフは有向グラフです。双方向につながるわけではありません。向きも考慮しなければなりません。**
62
+
59
63
  ![イメージ説明](65feddc4cfe746b0375c2c3a3924c346.png)
60
64
 
61
65
 
@@ -68,7 +72,7 @@
68
72
 
69
73
  例えば、グループID.0をルーティングするとこのような感じになります。
70
74
 
71
- ![イメージ説明](2c125106f7b3d499a0aac0427a120b8c.png)
75
+ ![イメージ説明](37c867ee29c66cd1f7bd20934d2c9b61.png)
72
76
 
73
77
  上の図はコネクトID.0,1,2のように全て繋げることができる例の一つです。
74
78
 
@@ -76,19 +80,35 @@
76
80
 
77
81
 
78
82
 
83
+ **※補足 不可な例です。**
84
+
85
+ ![イメージ説明](793129ffa13927b52c16ac06cfc00d31.png)
86
+
87
+ これではコネクトID.2を満たしていません。5から6に繋がっていないです。
88
+
89
+ エッジ1-5が双方向につながるわけではないからです。
90
+
91
+
92
+
79
93
  次にグループID.1をルーティングすると以下のように二つ考えられると思います。
80
94
 
81
- ![イメージ説明](b79aca7a2aea8aeeaa8f1d62f9cd7478.png)
95
+ ![イメージ説明](3d6eb391cc645c7ad2e799b12fae5686.png)
82
96
 
83
- ![イメージ説明](6c01a84ca9f48a9bf3b3960dace97c12.png)
97
+ ![イメージ説明](a1f953cbde51db9dffe66b52108a1b4e.png)
84
98
 
85
99
  ここでどちらのパターンを選ぶかは、同じ辺を使うのを避けるとすると、グループID.0で使用されている5と6を結んでいる辺を使っていない前者のパターンを採用するべきです。
86
100
 
87
101
 
88
102
 
103
+ **補足 以下もエッジ5-6が使われているのでそれより1番目の例の方が最適であると言えます。**
104
+
105
+ ![イメージ説明](fe251ce6d06c740aaf0a5468259b0921.png)
106
+
107
+
108
+
89
109
  次にグループID.2は同じように以下のようになります。
90
110
 
91
- ![イメージ説明](6b8d0f1d60c0d5b5944a412b8d376af8.png)
111
+ ![イメージ説明](42aee4d7f42e4dea97b9b0e9b4ef70fa.png)
92
112
 
93
113
  この場合は5と6の辺以外を通ると他の辺の重複度が増してしまうので5と6をつないでいる辺の重複度は増してしまうがこれが最適である。
94
114
 

1

タグ追加

2019/06/06 06:27

投稿

AtsuyaShono
AtsuyaShono

スコア11

test CHANGED
@@ -1 +1 @@
1
- グラフ理論最適化問題 辺の重複度最小化
1
+ グラフ理論最適化問題 辺の重複度最小化 解法のアルゴリズムがわかりません。。
test CHANGED
@@ -7,6 +7,10 @@
7
7
  説明が長く、わかりにくい表現もあるかもしれませんが、質問などしてくださればお答えしたいと思っています。
8
8
 
9
9
  よろしくお願いします。
10
+
11
+
12
+
13
+ ちなみに言語はc++です。
10
14
 
11
15
 
12
16
 
@@ -108,4 +112,8 @@
108
112
 
109
113
 
110
114
 
115
+ ネットで似たような解法が見当たらず質問に至りました。
116
+
117
+
118
+
111
119
  例えば、先にルーティングしておくと比較的、後の経路が重複しなくなるようなグループの順番でルーティングする方法(どうすればいいか探す必要がありますが。。)や、数理計画法のようなアプローチができるかと考えましたが、他に良い方法がありませんでしょうか?