Repository navigation
Expand file tree
/
Copy pathbranchbound_about.html
More file actions
275 lines (252 loc) · 13.1 KB
/
Copy pathbranchbound_about.html
File metadata and controls
275 lines (252 loc) · 13.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
<!DOCTYPE html>
<html lang="pt-br">
<head>
<!-- Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Algoritmos de Pesquisa Operacional">
<!-- End of meta -->
<!-- Title -->
<title>Solver - BranchBound</title>
<!-- End of title -->
<!-- Stylesheets -->
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/light.css" id="scheme" />
<link rel="stylesheet" type="text/css" href="css/responsive-nav.css" />
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/colors/blue.css" id="colors" />
<link rel="stylesheet" type="text/css" href="css/opensans.css">
<!-- End of stylesheets -->
<link href="img/branchbound/favicon.ico" rel="icon" type="image/x-icon" />
</head>
<body>
<!-- Header -->
<header>
<div class="top container">
<!-- Logo area -->
<div class="logo-left-bg"></div>
<div class="logo-left one-fourth">
<!-- Logo -->
<a class="logo" style="font-size: 30px;">Branch-and-Bound<span>Programação Linear Inteira Mista</span></a>
<!-- End of logo -->
</div>
<!-- End of logo area -->
<!-- Top right -->
<div class="top-right three-fourth last-in-row">
<!-- Top bar -->
<div class="top-bar">
<!-- Social icons -->
<div class="top-social-icons">
<ul class="footer-social social-icons">
<li><a href="#"><i class="icon-facebook"></i></a></li>
<li><a href="https://github.com/jmmccota/Otimizacao"><i class="icon-github"></i></a></li>
</ul>
</div>
<!-- End of social icons-->
</div>
<!-- End of top bar -->
<!-- Main navigation -->
<nav id="nav">
<ul>
<li><a href="index.html">Início</a></li>
<li class="parent"><a href="simplex.html">Simplex</a>
<ul>
<li>Simplex
<ul>
<li><a href="simplex.html">Começar</a></li>
<li><a href="simplex_about.html">Mais sobre o Modelo</a></li>
</ul>
</li>
</ul>
</li>
<li class="parent"><a href="branchbound.html">Branch-and-Bound</a>
<ul>
<li>Branch-and-Bound
<ul>
<li><a href="branchbound.html">Começar</a></li>
<li><a href="#">Mais sobre o Modelo</a></li>
</ul>
</li>
</ul>
</li>
<li class="parent"><a href="transporte.html">Transporte</a>
<ul>
<li>Transporte
<ul>
<li><a href="transporte.html">Começar</a></li>
<li><a href="transporte_about.html">Mais sobre o Modelo</a></li>
</ul>
</li>
</ul>
</li>
<!--<li><a href="contato.html">Contato</a></li>-->
</ul>
</nav>
<!-- End of main navigation -->
</div>
<!-- End of top right -->
</div>
</header>
<!-- End of header -->
<!-- Page Title -->
<div id="page-title">
</div>
<!-- End of page title -->
<!-- Content -->
<div id="content" class="clearfix">
<!-- Breadcumbs -->
<div class="breadcumbs">
</div>
<!-- End of breadcumbs -->
<!-- Container -->
<div class="container">
<div class="row">
<!--right-->
<div class="col-md-12" id="pagModelo">
<h2 id="sec0">Introdução </h2>
<hr>
<p>
A programação Linear Inteira Mista tem uma grande vantagem em relação a Programação Inteira que é permitir que sejam incluídos
na análise os custos fixos, bem como diferentes níveis de custos variáveis para as instalações. Estes
problemas possuem soluções mais complexa em relação aqueles que utilizam a Programação Linear. Contudo
na Programação Linear, existem condições necessárias e suficientes de otimização teoricamente provadas
que podem ser utilizadas para testar eficientemente se uma dada solução viável é uma solução ótima
ou não.
</p>
<p>
A Programação Linear está preocupada com a maximização ou minimização de uma equação sobre certos critérios ou restrições.
Abaixo temos um exemplo:
</p>
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="panel panel-primary secondary ">
<div class="panel-heading">
<h4> Exemplo:</h4></div>
<div class="panel-body">
<center>
<img src="img/branchbound/exemplo1.png" class="img-responsive">
</center>
</div>
</div>
</div>
<div class="col-md-12 col-sm-12">
<blockquote>
<p> Este problema pode ser resolvido pelo Método Simplex ou Simplex duas Fases. A solução ótima
se encontra abaixo: </p>
<center>
`x = (x_1,x_2,x_3) = (0.5,0,1.5)`
</center>
</blockquote>
</div>
</div>
<p>
Problemas como estes são utilizados em todas as empresas para minimizar o desperdício, maximizar lucro, ou otimizar a outros
aspectos do negócio . No entanto, algumas partes da solução pode ser limitada a números inteiros,
`x in Z^+`
</p>
<p>
Programação linear inteira mista é uma PL(Programação Linear) que existe alguma ou todas as variáveis não inteiras. Portanto
precisamos de encontrar uma nova solução ótima para evitarmos casos de números parciais. Simplesmente
com o arredondamento, a solução muitas vezes pode sair da região viável, comprometendo a otimalidade.
</p>
<br>
<h2 id="sec1">Resolvendo PLIM Usando Branch-Bound</h2>
<hr>
<p>
O problema com a resolução de PLIMs usando o método Simplex é que ele frequentemente retorna
partes de ` x = (x_1,x_2,x_3)` que não estão em forma de número inteiro.
</p>
<p>
Para resolver usando o Branch and Bound, primeiro resolvemos o problema usando o Relaxamento, o que significa resolvê-lo
pelo Simplex Revisado como se não houvesse restriçőes inteiras. Assim, obtemos:
` z = cx`.
</p>
<p>
Como o exemplo usado envolve um problema de maximização que engloba todas as soluçőes inteiras,
então esse é um limite superior da PLIM. Em seguida, escolhe-se uma variável
não inteira. Comumente, escolhe-se a variável mais fracionada, que esteja mais próxima
do valor mediano ou mais distante de um número inteiro.
</p>
<p>
Por exemplo, em ` x = (1.25, 3.45, 2.75, 5)`, escolhe-se ramificar em `x_2`, pois `0.45` está mais próximo
de `0.5` do que as outras fraçőes. A partir disso, criamos dois subproblemas ou dois
nodos de nossa árvore. Em um nó adicionamos a restrição `x_2
<=3`, na outra adicionamos `x_2>=4`. Seja `S` o conjunto solução viável do relaxamento: `S = {x: Ax
<=b\ e\ x>=0}`, temos que:
</p>
<div class="row">
<div class="col-md-4 col-sm-4 col-md-offset-4">
<blockquote>
<center>
` S_1 = S \cap{x:x_j
<=\ lfloor\hat{x}_j\rfloor\} ` ` S_1=S \cap{x:x_j>= \ceil{hat{x}_j}} `
</center>
</blockquote>
</div>
</div>
<p>
Então, cada um dos nós devem ser resolvidos com suas novas restriçőes pelo método Dual
Simplex. Caso o problema seja inviável, então o nó é cortado por inviabilidade.
A solução ótima é encontrada quando todos os nós fracionários
são cortados.
</p>
</div>
<!--/right-->
</div>
<!--/row-->
</div>
<!-- end container-->
</div>
<!-- End of content -->
<div class="scroll-top-wrapper ">
<span class="scroll-top-inner">
<i class="glyphicon glyphicon-arrow-up"></i>
</span>
</div>
<!-- Footer -->
<footer>
<!-- Footer second row -->
<div class="footer-second-row">
<div class="container">
<!-- Logo area -->
<div class="logo-left-bg"></div>
<div class="logo-left one-fourth">
<!-- Logo -->
<a class="logo" href="index.html">SIMO<span>Sistema Interativo para Métodos de Otimização</span></a>
<!-- End of logo -->
</div>
<!-- End of logo area -->
<!-- Copyright and small menu -->
<div class="copyright-area three-fourth last-in-row">
<span class="copyright">© Copyright 2016 by CEFET-MG. Todos os direitos reservados.</span>
<ul class="small-menu">
<li><a href="faq.html">Dúvidas</a></li>
<li><a href="http://timoteo.cefetmg.br">CEFET-MG Campus Timóteo</a></li>
<!--<li><a href="contato.html">Contato</a></li>-->
</ul>
</div>
<!-- End of copyright and small menu -->
</div>
</div>
<!-- End of footer second row -->
</footer>
<!-- End of footer -->
<!-- Scripts -->
<script type="text/javascript" src="js/jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="js/jquery/jquery.flexslider.js"></script>
<script type="text/javascript" src="js/jquery/jquery.fitvids.js"></script>
<script type="text/javascript" src="js/responsive-nav.js"></script>
<script type="text/javascript" src="js/jquery/jquery.touchSwipe.min.js"></script>
<!-- Scripts Configuration -->
<script type="text/javascript" src="js/custom.js"></script>
<!-- End of scripts configuration -->
<script type="text/javascript" src="js/ASCIIMathML.js"></script>
<script type="text/javascript" src="js/MathJax/MathJax.js?config=AM_HTMLorMML"></script>
<script>
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
</script>
<script type="text/javascript" src="js/analytics.js"></script> <!-- End of scripts -->
</body>
</html>