Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Proiectarea aplicatiei multi-agent pentru selectarea furnizorilor de bunuri

Proiectarea aplicatiei multi-agent pentru selectarea furnizorilor de bunuri


1. Arhitectura SMA


Arhitectura sistemului multi-agent pentru selectarea furnizorilor de bunuri, produse sau servicii este ierarhizata (in care sunt nivele de subordonare).







Fig. 7. Arhitectura SMA


2. Modelarea cunoasterii

Identificarea conceptelor

Fapt

Atribut

ListaFurnizori

Nume: String, Punctaj : Integer

FormularOferta

DenumireFurnizor, Termen_livrare, Conditii_livrare, Calitate, Termen_garantie : String

Furnizor

DenumireFurnizor, Termen_livrare, Conditii_livrare, Calitate, Termen_garantie : String

Contract

Furnizor,contract :String

Cap  Realizarea aplicatiei

Realizarea aplicatiei combina pasii necesari pentru crearea unui agent Zeus cu pasii necesari pentru implementarea rolurilor identificate mai sus.

1. Crearea ontologiei

Ontologia reprezinta o conceptualizare a unui domeniu de expertiza; defineste termeni de tip concepte, relatii, proprietati, instante, precum si axiome care includ si restrictii asupra proprietatilor unor termeni.

Mai intai, click pe butonul Edit de la panoul Ontologie.

Apoi, in fereastra care se va deschide vom introduce conceptele prezentate mai sus, astfel :

Fig. 8. Fereastra de editare a ontologiei in sistemul ZEUS, in care se stabileste atat ierarhia termenilor folositi, cat si atributele specifice fiecaruia dintre acestea.

2. Crearea agentilor

Crearea agentilor consta din mai multe sub-procese care se repeta pentru fiecare dintre diferitele taskuri ale agentilor din aplicatie.

Fig. 9.  Fereastra de editare a agentilor in sistemul ZEUS

Definirea agentilor

1)Agentul Directorul General

  • Primul pas este crearea unui agent nou, folosind butonul (New Agent) apoi redenmirea acestuia in Directorul General.
  • Dublu click pe enititatea Directorul General pentru deschiderea ferestrei de editare.

Pentru DG nu avem task-uri.

2)Agentul Piata Furnizori

Agentul PF are un task, Oferta pentru care are ca resurse initiale numele si adresa sa, precum si valorile pentru termen garantie, calitate, conditii garantie, termen plata.

Fig.10 Agent editor: Piata Furnizori



3)Agentul Serviciul Strategia Aprovizionarii

Agentul Serviciul Strategia Aprovizionarii va introduce datele primite de la Managementul Contractelor in aplicatia informtica si apoi va transmite catre Managementul Contractelor Lista de furnizori rezultata. Pentru aceasta am definit task-ul Clasament pentru care nu avem resurse initiale.

Fig.11 Agent editor: Serviciu Strategia Aprovizionarii


4)Agentul Managementul Contractelor

Managementul Contractelor va trasnmite catre Piata de Furnizori un formular in care va cere pentru materialele care trebuiesc achizitionate o serie de informatii legate de conditiile si termenul de livrare, conditii si termen de plata, prêt si calitatea materialelor respective. Aceste informatii sunt necesare pentru o selectie optima a furnizorului. Acest lucru va fi realizat cu ajutorul task-ului CerereOferta.


Fig.12 Agent editor: Managementul Contractelor

Descrierea task-urilor

Pentru fiecare dintre task-uri trebuiesc specificate preconditiile si efectele acelui task.

Fig.13 Precontitii si Efecte : Cerere Clasament

Coordonarea agentilor

Pentru fiecare agent trebuiesc specificate protocoalele si strategiile folosite de acesta in negocierea cu ceilalti agenti, precum si relatiile dintre el si ceilalti agenti.

Fig.14 Coordonarea agentilor: Managementul Contractelor

Organizarea agentilor

Fig.15 Organizarea agentilor: Managementul Contractelor



Configurarea agentilor utilitari si a agentilor task

Din fereastra principala Agent Generator se da click pe butonul Code Generator, care va afisa fereastra Generation Plan : agentii care vor fi creati cand procesul de generare a codului va fi pornit. Pe langa Piata Furnizori, Managementul Achizitiilor, Serviciul Strategia Aprovizionarii si Managementul Contractelor mai sunt si ANS, Broker si Visual.

Pentru a configura acesti trei agenti se da click pe Utility Agents.

Fig.16 Agent generator




Configurarea agentilor task

Agentii task, in Zeus, sunt ajutati de catre agentii utilitari generati de sistem. Pentru acestia se poate crea interfata implicita a Zeus-ului , si de asemenea se poate crea o interfata specifica fiecarui agent.

Fig.17 Configurarea agentilor task

Implementarea si rularea aplicatiei

Avand agentii deja definiti suntem gata pentru a genera implementarea acestora. Pentru generarea codului sursa si a executabilelor se deschide fereastra Code Generator, Aici se alege calea unde se vor genera fisierele necesare rularii acestei aplicatii si apoi se apasa butonul Generate.

Fig.18 Cod generator

Acest lucru va genera implementarea Java pentru fiecare agent si pentru fiecare task in cate o clasa java. In continuare trebuie configurat programul extern, Interface , pe care il apeleaza agentul Director General. In acest program trebuie specificat scopul acestei aplicatii, acest program consta de fapt in interafata care permite sa fie accesate direct componentele unui agent.

Programul trigger (Interface.java) furnizeaza un exemplu de transmitere a instructiunilor catre agent.

Ceea ce se intampla este ca se creeaza un nou fapt care reprezinta conceptul dorit si acesta este folosit pentru a crea un nou scop. Scopul este apoi adaugat la Co-ordination Engine, si va invoca task-ul Contract, si in timpul achizitionarii resurselor necesare pentru acest task negocierile dintre agenti vor incepe.


Acum aplicatia poate fi rulata folosind scripturile de lansare create o data cu agentii : run1, run2 si run

Lansarea aplicatiei implica urmatoarele procese :

  • comanda run1 ; executa scriptul run1 si porneste agentul ANS, deschizand un proces Java ;
  • comanda run2 ; acesta va lansa cei 4 agenti creati anterior si interfetele implicite ;
  • comanda run3 ; acesta va lansa agentii Visual si Broker (Facilitator).

In ferestrele deschise se pot vedea discutiile purtate intre agenti.

Se vor deschide in total 13 procese java care ruleaza pe fundal, prinrte care si fereastra Visualiser Hub.

Se va deschide fereastra Society Tool, unde vom vedea agentii task si agentii utilitari. Folosind optiunea Centered din meniul View Style , vom putea observa mai bine agentii si modul de comunicare.

Fig. 19 Visualiser


Fig.20 Interfata - Contracte Furnizori



Aplicatia mai poate fi imbunatatita prin folosirea unei baze de date externe care sa cuprinda mai multe exemple ( se va folosi o lista de materiale si o lista de furnizori, astfel incat sa se ajunga intr-adevar la o selectie de furnizori).``

Concluzii finale



Tehnologia agentilor inteligenti reprezinta o solutie eficienta pentru modelarea si implementarea sistemelor distribuite, dinamice, care lucreaza eventual, in medii deschise.

Realizarea nu numai a sistemului multi agent aplicat in domeniul selectiei de furnizorilor de bunuri, produse sau servicii, ci si a oricarui sistem multi agent aplicat intr-un alt domeniu, este foarte dificil de dezvoltat, deoarece trebuie sa se aiba in vedere mult mai multe entitati si atribute asociate acestora fata de numarul mic de entitati al sistemului multi agent prezentat in paginile anterioare.

Implementarea sistemului multi agent cu ajutorul instrumentului software ZEUS este usor de realizat, acesta impunand anumite etape pentru realizarea implementarii sistemului agent aplicat in domeniul ales.

Sistemul multi-agent creat, doreste sa realizeze o legatura directa cu baza de date ORACLE.

Un astfel de sistem multi-agent contribuie in mod eficiant si performant la imbunatatirea activitatii de aprovizionare, respectand in totalitate pricipiul raportului pret-calitate.

Aplicatia usureaza si rentabilizeaza activitatea manageriala privind aprovizionarea si evaluarea acesteia.

Sistemul multi-agent inlesnste activitatea de control si evaluare a activitatii de aprovizionare si achizitie intr-o unitate economica.

Bibliografie


[1]   Collis, Jaron, Ndumu, Divine - Zeus Technical Manual British Telecommunication plc, 1999

[2]   Collis, Jaron, Ndumu, Divine - The Role Modelling Guide British Telecommunication plc, 1999

[3]   Collis, Jaron, Ndumu, Divine - The Application Realisation Guide British Telecommunication plc, 1999

[4]   Collis, Jaron, Ndumu, Divine - The Runtime Guide British Telecommunication plc, 1999

[5]   Fulcher, J. - Advances in applied Artificial Intelligence, University of Wollongong, Australia,2006

[6]   Hopgood, A. - Intelligent Systems for Engineers and Scientists, Second Edition, 2001 by CRC Press LLC

[7]   Weiss, G. - Multiagent Systems A Modern Approach to Distributed ,Modern Approach to Artificial Intelligence, 1999 Massachusetts Institute of Technology

[8]        Wooldridge, M. - An Introduction to MultiAgent Systems, John Wiley and Sons in March 2002

[9]        *** - Agent-Oriented Software Engineering, http://users.ecs.soton.ac.uk/nrj/download-files/agt-handbook.pdf

Anexe

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//import java.swing.border.*;

import java.io.*;

import java.sql.*;

import zeus.util.*;

import zeus.concepts.*;

import zeus.agents.*;

import zeus.actors.*;

import zeus.actors.event.*;

import zeus.gui.*;

import zeus.gui.fields.*;

import zeus.concepts.fn.*;

import zeus.generator.util.*;

public class Interface extends JFrame implements ZeusExternal

});

}

public void exec(AgentContext context)

protected class SymFactMonitor extends FactAdapter

else

}

repaint();

}

}

}

public void display(String message)

protected class SymAction implements ActionListener

else if ( src == cumparaBtn )

else if ( src == executeBtn )

}

}

marketing

resurse umane






Upload!

Trimite cercetarea ta!
Trimite si tu un document!
NU trimiteti referate, proiecte sau alte forme de lucrari stiintifice, lucrari pentru examenele de evaluare pe parcursul anilor de studiu, precum si lucrari de finalizare a studiilor universitare de licenta, masterat si/sau de doctorat. Aceste documente nu vor fi publicate.