instance manufacturer_inst_mdp__20 {
    domain = manufacturer_mdp;

    objects {
        good : { g0000, g0001, g0002, g0100, g0101, g0102, g0200, g0201, g0202, g0300, g0301, g0400, g0401, g0500, g0501, g0600, g0601, g0602 };
    };
 
    non-fluents {
        // PROCESSED_TO
        PROCESSED_TO(g0000, g0100);
        PROCESSED_TO(g0001, g0100);
        PROCESSED_TO(g0002, g0101);
        PROCESSED_TO(g0001, g0101);
        PROCESSED_TO(g0000, g0102);
        PROCESSED_TO(g0002, g0102);
        PROCESSED_TO(g0100, g0200);
        PROCESSED_TO(g0001, g0200);
        PROCESSED_TO(g0101, g0201);
        PROCESSED_TO(g0102, g0201);
        PROCESSED_TO(g0101, g0202);
        PROCESSED_TO(g0102, g0202);
        PROCESSED_TO(g0202, g0300);
        PROCESSED_TO(g0002, g0300);
        PROCESSED_TO(g0102, g0301);
        PROCESSED_TO(g0200, g0301);
        PROCESSED_TO(g0301, g0400);
        PROCESSED_TO(g0300, g0400);
        PROCESSED_TO(g0301, g0401);
        PROCESSED_TO(g0201, g0401);
        PROCESSED_TO(g0201, g0500);
        PROCESSED_TO(g0101, g0500);
        PROCESSED_TO(g0200, g0501);
        PROCESSED_TO(g0400, g0501);
        PROCESSED_TO(g0501, g0600);
        PROCESSED_TO(g0301, g0601);
        PROCESSED_TO(g0501, g0601);
        PROCESSED_TO(g0501, g0602);


        // PRICES
        PRICE(g0000) = 24;
        PRICE(g0001) = 24;
        PRICE(g0002) = 18;
        PRICE(g0100) = 67;
        PRICE(g0101) = 73;
        PRICE(g0102) = 69;
        PRICE(g0200) = 158;
        PRICE(g0201) = 232;
        PRICE(g0202) = 216;
        PRICE(g0300) = 386;
        PRICE(g0301) = 336;
        PRICE(g0400) = 1159;
        PRICE(g0401) = 961;
        PRICE(g0500) = 571;
        PRICE(g0501) = 2291;
        PRICE(g0600) = 3018;
        PRICE(g0601) = 3818;
        PRICE(g0602) = 3370;


        // PRICE TRENDS
        PRICE_TREND_CHANGE_PROB(g0000) = 0.08;
        PRICE_TREND_CHANGE_PROB(g0001) = 0.05;
        PRICE_TREND_CHANGE_PROB(g0002) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0100) = 0.07;
        PRICE_TREND_CHANGE_PROB(g0101) = 0.05;
        PRICE_TREND_CHANGE_PROB(g0102) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0200) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0201) = 0.02;
        PRICE_TREND_CHANGE_PROB(g0202) = 0.08;
        PRICE_TREND_CHANGE_PROB(g0300) = 0.02;
        PRICE_TREND_CHANGE_PROB(g0301) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0400) = 0.01;
        PRICE_TREND_CHANGE_PROB(g0401) = 0.10;
        PRICE_TREND_CHANGE_PROB(g0500) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0501) = 0.04;
        PRICE_TREND_CHANGE_PROB(g0600) = 0.15;
        PRICE_TREND_CHANGE_PROB(g0601) = 0.14;
        PRICE_TREND_CHANGE_PROB(g0602) = 0.11;


        // PRICE_LEVEL_FACTORS
        PRICE_LEVEL_FACTOR(@level1) = 0.5;
        PRICE_LEVEL_FACTOR(@level2) = 0.6667;
        PRICE_LEVEL_FACTOR(@level3) = 0.8333;
        PRICE_LEVEL_FACTOR(@level4) = 1.0;
        PRICE_LEVEL_FACTOR(@level5) = 1.1667;
        PRICE_LEVEL_FACTOR(@level6) = 1.3333;
        PRICE_LEVEL_FACTOR(@level7) = 1.5;


        // PRICE_LEVEL_PROBS
        PRICE_LEVEL_PROB(@level1, @level1, @down) = 1.0;
        PRICE_LEVEL_PROB(@level1, @level2, @down) = 0.2;
        PRICE_LEVEL_PROB(@level2, @level2, @down) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level3, @down) = 0.2;
        PRICE_LEVEL_PROB(@level3, @level3, @down) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level4, @down) = 0.2;
        PRICE_LEVEL_PROB(@level4, @level4, @down) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level5, @down) = 0.2;
        PRICE_LEVEL_PROB(@level5, @level5, @down) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level6, @down) = 0.2;
        PRICE_LEVEL_PROB(@level6, @level6, @down) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level7, @down) = 0.2;
        PRICE_LEVEL_PROB(@level7, @level7, @down) = 0.8;

        PRICE_LEVEL_PROB(@level1, @level1, @stable) = 0.9;
        PRICE_LEVEL_PROB(@level1, @level2, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level2, @level1, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level2, @level2, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level3, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level3, @level2, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level3, @level3, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level4, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level4, @level3, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level4, @level4, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level5, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level5, @level4, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level5, @level5, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level6, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level6, @level5, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level6, @level6, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level7, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level7, @level6, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level7, @level7, @stable) = 0.9;

        PRICE_LEVEL_PROB(@level1, @level1, @up) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level1, @up) = 0.2;
        PRICE_LEVEL_PROB(@level2, @level2, @up) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level2, @up) = 0.2;
        PRICE_LEVEL_PROB(@level3, @level3, @up) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level3, @up) = 0.2;
        PRICE_LEVEL_PROB(@level4, @level4, @up) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level4, @up) = 0.2;
        PRICE_LEVEL_PROB(@level5, @level5, @up) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level5, @up) = 0.2;
        PRICE_LEVEL_PROB(@level6, @level6, @up) = 0.8;
        PRICE_LEVEL_PROB(@level7, @level6, @up) = 0.2;
        PRICE_LEVEL_PROB(@level7, @level7, @up) = 1.0;


        // FACTORY
        MAX_NUM_FACTORIES = 5;
        BUILD_FACTORY_COST(g0000) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0000) = 0.00;
        BUILD_FACTORY_COST(g0001) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0001) = 0.00;
        BUILD_FACTORY_COST(g0002) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0002) = 0.00;
        BUILD_FACTORY_COST(g0100) = 42;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0100) = 0.45;
        BUILD_FACTORY_COST(g0101) = 46;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0101) = 0.28;
        BUILD_FACTORY_COST(g0102) = 55;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0102) = 0.44;
        BUILD_FACTORY_COST(g0200) = 87;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0200) = 0.01;
        BUILD_FACTORY_COST(g0201) = 94;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0201) = 0.26;
        BUILD_FACTORY_COST(g0202) = 97;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0202) = 0.20;
        BUILD_FACTORY_COST(g0300) = 158;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0300) = 0.39;
        BUILD_FACTORY_COST(g0301) = 174;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0301) = 0.15;
        BUILD_FACTORY_COST(g0400) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0400) = 0.00;
        BUILD_FACTORY_COST(g0401) = 161;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0401) = 0.19;
        BUILD_FACTORY_COST(g0500) = 295;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0500) = 0.08;
        BUILD_FACTORY_COST(g0501) = 230;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0501) = 0.40;
        BUILD_FACTORY_COST(g0600) = 291;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0600) = 0.16;
        BUILD_FACTORY_COST(g0601) = 245;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0601) = 0.33;
        BUILD_FACTORY_COST(g0602) = 356;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0602) = 0.22;


        // STAFF
        // instance with marketing manager
        SALARY_MARKETING_MANAGER = 5;
        PROB_MARKETING_MANAGER_APPLIES = 0.52;
        MARKETING_MANAGER_BONUS = 0.43;

        // instance with lobbyist
        SALARY_LOBBYIST = 6;
        PROB_LOBBYIST_APPLIES = 0.01;
        LOBBYIST_BONUS = 0.40;

        // instance with production manager
        SALARY_PRODUCTION_MANAGER = 14;
        PROB_PRODUCTION_MANAGER_APPLIES = 0.22;

    };

    init-state {
        have-factory(g0400);

        price-trend(g0000) = @stable;
        price-trend(g0001) = @stable;
        price-trend(g0002) = @up;
        price-trend(g0100) = @stable;
        price-trend(g0101) = @stable;
        price-trend(g0102) = @stable;
        price-trend(g0200) = @stable;
        price-trend(g0201) = @stable;
        price-trend(g0202) = @stable;
        price-trend(g0300) = @down;
        price-trend(g0301) = @up;
        price-trend(g0400) = @stable;
        price-trend(g0401) = @stable;
        price-trend(g0500) = @stable;
        price-trend(g0501) = @stable;
        price-trend(g0600) = @up;
        price-trend(g0601) = @stable;
        price-trend(g0602) = @stable;
        
    };

    horizon = 80;

    discount = 1.0;
}