Algoritmos Heurísticos de Cobertura de Arcos
Algoritmos Heurísticos de Cobertura de Arcos
Algoritmos Heurísticos de Cobertura de Arcos
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
egin<br />
Form10.Image1.Visible:=false;<br />
If Form1.CheckBox5.Checked = false Then Exit;<br />
BotaoAcionado:=2;<br />
ArqNome:= FrmPrincipal.OpenDialog1.FileName;<br />
DesenhaGrafo(ArqNome,PaintBox1);<br />
ArqSol:= FrmPrincipal.SaveDialog2.FileName;<br />
DesenhaGrafoSolucaoGLS(ArqNome,ArqSol,PaintBox1);<br />
end;<br />
procedure TForm10.Button3Click(Sen<strong>de</strong>r: TObject);<br />
// Desenha Solução da NegCircuit<br />
begin<br />
Form10.Image1.Visible:=false;<br />
If Form1.CheckBox5.Checked = false Then Exit;<br />
BotaoAcionado:=3;<br />
ArqNome:= Form4.SaveDialog1.FileName;<br />
DesenhaGrafo(ArqNome,PaintBox1);<br />
DesenhaGrafoSolucao(ArqNome,PaintBox1);<br />
end;<br />
procedure TForm10.Button4Click(Sen<strong>de</strong>r: TObject);<br />
// Esta rotina i<strong>de</strong>ntifica o tipo <strong>de</strong> arquivo, se ele é um grafo,<br />
// se ele é uma solução <strong>de</strong> MCPP gerada pela rotina NegCircuit,<br />
// ou se é uma solução <strong>de</strong> MCPP gerada pela Busca Local.<br />
// Depois da i<strong>de</strong>ntificação, <strong>de</strong>senha o grafo e mostra a solução.<br />
var St:String;<br />
begin<br />
BotaoAcionado:=4;<br />
Form10.Image1.Visible:=false;<br />
//OpenDialog1.InitialDir := 'C:\Arquivos <strong>de</strong> programas\Borland\Delphi4\Projects\DadosMcpp\';<br />
OpenDialog1.InitialDir := 'C:\Meus documentos\Doutorado\MCPPgls Demo\';<br />
If OpenDialog1.Execute<br />
Then ArqNome := OpenDialog1.FileName<br />
Else Exit;<br />
St:=Copy(ArqNome,Length(ArqNome)-6,3);<br />
If (St='KXS') or (St='KUS') or (St='KCS') or (St='KNS')<br />
then begin<br />
// Anima solução sobre um mapa<br />
BotaoAcionado:=0;<br />
CalculaCompArco;<br />
ArqSol:=ArqNome;<br />
ArqMapa:=ArqNome;<br />
Delete (ArqNome,Length(ArqNome)-4,1);<br />
Delete (ArqMapa,Length(ArqMapa)-6,7);<br />
ArqMapa:=ArqMapa+'.bmp';<br />
DesenhaGrafoSolucaoMapa(ArqMapa,ArqNome,ArqSol,PaintBox1);<br />
Exit;<br />
end;<br />
If Copy(ArqNome,Length(ArqNome)-4,1)'S'<br />
then begin<br />
If Copy(ArqNome,Length(ArqNome)-4,1)='L'<br />
then begin<br />
// Desenha solução <strong>de</strong> Lower Bound<br />
BotaoAcionado:=3;<br />
DesenhaGrafo(ArqNome,PaintBox1);<br />
DesenhaGrafoSolucao(ArqNome,PaintBox1);<br />
end<br />
else begin<br />
// Desenha um grafo<br />
BotaoAcionado:=1;<br />
DesenhaGrafo(ArqNome,PaintBox1)<br />
end;<br />
end<br />
173