1 Problem definition Ride sharing is generally a flexible mobility option, offering special flexibility to vehicles. and can in longer term reduce the number of private car owners, which may effect on decreasing pollution. Roland Thomp- son and Winter (2015)investigates the application of agent-based simulation for studying ODT. They identified that existing simulations are strongly focused on the optimization of trips, usually in favor of the operator, and rarely consider individual preferences and needs, compared based on the time horizon taken by simulation (short, medium, and long term simulation). For a specific definition, the KFH group(2008) states: “DRT is a transit mode consisting of passenger vehicles, vans or small buses that respond to the calls of pas- sengers or their agents to the transit operator, who then sends a vehicle to collect passengers and transport them to their destinations.” A Demand-Response (DR) operation is characterized by the following: – Vehicles do not operate on a fixed course or a fixed schedule, except, perhaps, temporarily to satisfy a special need”,– the vehicle can be sent to take several passengers to different collection points before taking them to their respective destinations and can also be stopped on the way to these destinations to catch other passengers – Passenger could be served by multi-vehicle trajectory – Requests usually present intentions of trip from source to destination within a certain time window Bellini et al. 2003 defines the main features of these systems and their advantages as follows: First, as door-to-door as possible transportation; Second, minimize waiting times, walking paths and vehicle changes. The authors proposes a classification of ODT systems based on four operative levels: 1. Fixed line service: It is based on fixed routes and fixed stations. Users must reserve the service. Sometimes schedules are also fixed and buses only make trips if booked. 2. Fixed methods with the possibility of circumvention: In this case, the paths and schedules are partially repaired; they can be changed at user’s request with potential conversions at certain fixed points, and the entire path is merged with fixed, fixed stations. In some cases, this service is called a “corridor service” simply to indicate the extent of the spatial circumference that the flight may be. 3. Service with free routes within fixed points: It is possible to specify: – Zoned service, on the basis of transport routes to fixed public interest points such as parking spaces and railway stations (many to few mode); – Wide service, operating in large areas in general, with complete flexibility over time and free routes at fixed breakpoints (many-to-many mode); 4. Free route service between unspecified points. It provides free routes between unspecified stops. Works like taxi service (door to door mode). 1.1 Differences from other transportation modes ODT in our study is a special sort of DRT that differs from other transportation modes in the following points. – While Regular Transit bus employs mostly fixed routes and schedules, ODT employs flexible routes and schedules. – In the other hand there exist some Transit bus services such as Shuttle buses which has more flexible routes and schedules but uses predesignated departure and arrival points, while in ODT departure and arrival points are not necessarily fixed – Compared to the most flexible and personalized transportation solution i.e. Taxicab, DRT generally carries more people, and passengers may have less control over their journey on the principle of DRT being a shared system as opposed to an exclusive vehicle for hire. Additionally, journeys may divert on route for new bookings in the ame way as Deviated Fixed Route services. – In many developing countries the Share Taxi is a common flexible transportation sollution as it can stop anywhere to pick-up/drop-of passenger and the routes are not strictly fixed, the main difference of ODT is that it’s pre-booked in advance, whereas Share Taxi are operated on an ad-hoc basis – ODT can be seen as similar door-to-door service as Paratransit but is available to the general public, whereas paratransit is available to pre-qualified user bases, especially for people with disabilities and the elderly. 2 Multiagent System (MAS) & Resource Allocation Multiagent System (MAS) consist of Agents and their environment. Agents of the MAS may be software agents, robots, people or groups of people. The MAS can contain combined human-agent teams. Multi Agent Resource Allocation (MARA) is a domain of developing solutions for distributing multiple re- sources among multiple agents. Features in this field covers a wide range of applications such as scheduling, network design and routing. Many construction activities include entities sharing and competition for limited 2resources. MARA has experienced rapid development in recent years due to the growth of computer technology and is gaining increasing attention due to its ability to design interaction models between agents and multiple resources. makes it more industry-oriented than traditional allocation methods. In particular, MARA can facilitate the allocation of multiple resources for multiagent. For this reason, agent-based simulations, in- cluding MARA, have been applied in many areas, such as industrial purchasing, manufacturing, network routing, the public transport and logistics, e-commerce – B2B (business to business) and C2B (customer- to-business), social activities , scheduling and the allocation of resources for industrial networks. Compared to other MAS problems, the MARA problem is limited to resource allocation, but it is more detailed and formulated. In addition, It offers a potential solution to problems where the environment is complex and subject to uncertain changes. 2.1 Multi Agent Resource Allocation (MARA) Components Agents An agent is defined as “a computer system located in a dynamic environment and able to present an autonomous and intelligent behavior to achieve its design objectives” . Traditional object-oriented programming or simulation uses objects as entities to perform tasks. Objects have no intelligence to take advantage of unexpected alternatives to achieve a goal or a state because they only follow the instruction provider, from human users or other objects. If other objects or users do not provide policies in time, they can not update them at the same time. Autonomy is a key feature of agent- based systems. An autonomous agent can perform activities with its own motor or intelligence to solve a problem without external interference from human users or other agents. It is able to respond to different situations and apply alternative strategies to achieve certain goals . Autonomy, however, can lead to conflicts between the interests of different agents. In such cases, responsibility can be assigned to a special agent to coordinate and resolve these contradictions. Resources Resources refer to items to be assigned/allocated. Resources can be classified into two types: continuous and discrete. For continuous resources such as electricity, multiple agents can share a resource at the same time; Discreet resources, like the passengers, are inseparable. Therefore, once the resource is assigned to an agent, the other agents can no longer use the same resource. The type of resource is also distinguished by its behavior as a function of time. Resources that do not change their properties during the assignment phase are called static resources. Those that change their properties are known as non-static. In most cases, resources are not static, because, at some point, changes are likely to occur, either by their number or other properties. The type of resource can have a significant impact on the allocation process later. Utility function Represents the degree of satisfaction of an agent for a given allocation. Every agent has a utility value expressed as an explicit value or a relationship that reveals the most satisfactory solution. An allocation procedure attempts to provide agents with alternative resources that match their utilities as much as possible. The mathematical expression here would be u : x → val where u is the utility function for a specific agent, x is a set of allocation alternatives and val is a numeric value or a linguistic term. Sociability and optimization objectives Sociability represents the aggregation of all individuals’ utility functions, that could be calculated in different ways. while the objective function represents the global objective of the allocation in terms of this aggregation, such as : maximize social welfare for agents, minimize total waiting time for passengers, minimize costs and so on. 3Matching mechanism Distribute the resources according to the utility function in a way that attempts to optimize sociability (i.e. objective function).