README – NWFH VERSION
Agent-Based Simulation: Labour Bargaining WITHOUT Working From Home
===================================================================

This folder contains the **Non-WFH (NWFH)** version of the agent-based labour
market simulation. In this version, firms and workers do NOT consider
working-from-home (WFH) preferences. All simulations run fully headless
(no graphical user interface).

This version is intended for:
- baseline comparisons against the WFH model,
- batch execution,
- Monte Carlo and sensitivity analysis,
- reproducible, non-interactive runs.


-------------------------------------------------------------------
1. REQUIREMENTS
-------------------------------------------------------------------

- Python 3.10 or later
- Required Python packages must be installed (see environment.yml
  or requirements.txt provided with the repository)

This model is designed to run from the command line.


-------------------------------------------------------------------
2. FILES
-------------------------------------------------------------------

main.py
    Command-line entry point for running the NWFH simulation.

economy.py
    Core simulation logic (firms, workers, labour market dynamics).

montecarlorunner.py
    Handles repeated simulation runs and summary statistics.

output/
    Folder where simulation outputs are written.

mc_output/
    Folder where Monte Carlo outputs and plots are written.


-------------------------------------------------------------------
3. RUNNING A SINGLE SIMULATION
-------------------------------------------------------------------

To run a single simulation from the terminal:

    python main.py --normal --cycles 10

This will:
- run the model for 10 cycles,
- write output files to the ./output directory.


 SET A RANDOM SEED

    python main.py --normal --cycles 10 --seed 42

Using a fixed seed ensures reproducibility.


-------------------------------------------------------------------
4. RUNNING MONTE CARLO SIMULATIONS
-------------------------------------------------------------------

To run multiple simulations (Monte Carlo):

    python main.py --montecarlo --cycles 10 --runs 20

This will:
- run 20 independent simulations,
- each simulation runs for 10 cycles,
- aggregate results across runs,
- save summary outputs and plots in ./mc_output.


OPTIONAL: CHANGE OUTPUT DIRECTORY

    python main.py --montecarlo --cycles 10 --runs 20 --outdir results_mc


-------------------------------------------------------------------
5. HEADLESS EXECUTION AND --nogui FLAG
-------------------------------------------------------------------

The NWFH version runs headlessly by design and has no GUI components.

For interface compatibility with the WFH version, the flag:

    --nogui

is accepted but has no effect. It may be included safely:

    python main.py --normal --cycles 10 --nogui
    python main.py --montecarlo --cycles 10 --runs 20 --nogui


-------------------------------------------------------------------
6. OUTPUT
-------------------------------------------------------------------

Single-run outputs:
- written to ./output
- include CSV files and log files describing the simulation state

Monte Carlo outputs:
- written to ./mc_output (or custom directory)
- include summary statistics and plots


-------------------------------------------------------------------
7. NOTES
-------------------------------------------------------------------

- This version excludes all WFH-related preferences and decision rules.
- It is intended as a baseline model for comparison with the WFH version.
- All simulations are deterministic conditional on the random seed.

For further details, see the main project documentation.


-------------------------------------------------------------------
END OF FILE
-------------------------------------------------------------------
