Journal on Policy & Complex Systems Vol. 2, Issue 2, Fall 2015 | Page 37

Journal on Policy and Complex Systems
member checks its overall utility value : if the value is greater than 0.70 , then the consumer decides to participate in purchasing ; if the value is less than 0.70 , the probability that the consumer decides to participate corresponds to its utility value . If the consumer decides to purchase from the food hub , it is assumed that he / she will try to fill as much as his / her demand as possible via the food hub . Consumers who have decided to participate are selected in random order to make their purchases from participating producers . Each consumer first assesses his / her demand in each product category . Then , he / she seeks out producers that have inventory available in each product category . As a consumer successfully purchases items from producers in each cycle , the consumer ’ s demand for that item is reduced . It is assumed that demand that goes unfilled by the food hub will be filled by other exogenous sources ( i . e ., there is no demand backlog from one time-step to the next ). After a consumer completes a transaction with a producer , he / she will update the parameter values in his / her producer ratings vector for that producer . If the consumer is unable to find any producers with inventory in a product category , his / her overall utility will be reduced by 0.05 , and he / she will move on to the next category . If the consumer finds a producer ( s ) with inventory , but this inventory is insufficient to completely fill his / her demand , then his / her utility will be reduced by 0.01 . If the consumer ’ s demand is completely satisfied , his / her utility will increase by 0.01 .
The consumer will then assess each of the available producers with respect to its values , using the producer ’ s ratings vectors . Then the consumer ranks each of these producers by the total value he / she gives . He / she then selects the producer with the highest rank and purchases either enough of the producer ’ s inventory to fill his / her demand or all of the producer ’ s inventory ( whichever is larger ). If the consumer has any unfilled demand , he / she will move on to the next ranked producer and will purchase as much as available / needed from that producer , and so on . After each interaction with a producer , the consumer will update his / her producer ratings vector for that producer . The consumer will continue this process for each of the remaining five product categories .
Consumer evaluation and status update . After all consumer agents are finished purchasing food , each consumer will evaluate his / her overall utility with the food hub , which is based on his / her previous transactions . If a consumer ’ s overall utility falls below a threshold value of 0.10 ( out of 1.00 ), or if the consumer observes that he / she has participated with the food hub fewer than four times out of the previous 11 distribution cycles , he / she will change his / her membership status to “ canceled member ” and will no longer participate in transactions with the food hub .
Producer evaluation and status update . A producer makes one key decision in each distribution cycle : what percentage of its production capacity to sell to consumers via the food hub . Throughout the simulation , the percentage of production capacity that a producer allocates to the food hub ( rather than to other
34