.. _concepts-chapter: ======== Concepts ======== Argonaut models decentralized multiagent discrete choice optimization, where a collective outcome is produced through the choices of many autonomous participants. Agents ====== The system consists of a set of agents :math:`A = \{a_1, ..., a_n\}`. An agent represents an autonomous decision making unit, such as a household, vehicle, shipment, station, user, or drone. Plans ===== Each agent is associated with a finite set of feasible plans :math:`P_i = \{p_{i1}, ..., p_{ik}\}`. A plan is represented as a :math:`d`-dimensional vector, where each dimension can correspond to a time step, resource allocation, demand value, workload, or application-specific scenario. In the upload workflow, Argonaut accepts multiple ``.plans`` files. The expected plan representation follows the EPOS style: .. code-block:: text planScore : planDimension1, ..., planDimensionN The plan score can be interpreted as plan discomfort or preference, depending on the selected local cost function. Collective Solution =================== A collective solution is formed by selecting exactly one plan for every agent: .. math:: s = (p_1, ..., p_n) The resulting decision space is: .. math:: S = P_1 \times P_2 \times ... \times P_n Its size grows combinatorially with the number of agents and plans: .. math:: |S| = \prod_{i=1}^{n} |P_i| For example, 3 agents with 2 plans each produce :math:`2 \times 2 \times 2 = 8` collective solutions. Objectives ========== Argonaut evaluates collective solutions through objectives and constraints. Global objective Captures system level performance, such as reducing aggregate peaks, minimizing congestion, balancing demand, or keeping the collective outcome within desired limits. The value of the global objective is the global cost. Local objective Captures agent level discomfort or preference loss caused by selecting a less preferred plan. The value is the local cost. Unfairness objective Captures how unevenly local discomfort is distributed across agents. A lower unfairness value means the local discomfort is more evenly distributed.