instance manufacturer_inst_mdp__15 {
    domain = manufacturer_mdp;

    objects {
        good : { g0000, g0001, g0002, g0003, g0100, g0101, g0102, g0200, g0201, g0300, g0301 };
    };
 
    non-fluents {
        // PROCESSED_TO
        PROCESSED_TO(g0000, g0100);
        PROCESSED_TO(g0002, g0100);
        PROCESSED_TO(g0002, g0101);
        PROCESSED_TO(g0003, g0101);
        PROCESSED_TO(g0001, g0102);
        PROCESSED_TO(g0003, g0102);
        PROCESSED_TO(g0002, g0200);
        PROCESSED_TO(g0102, g0200);
        PROCESSED_TO(g0101, g0200);
        PROCESSED_TO(g0102, g0201);
        PROCESSED_TO(g0101, g0201);
        PROCESSED_TO(g0102, g0300);
        PROCESSED_TO(g0201, g0300);
        PROCESSED_TO(g0200, g0301);
        PROCESSED_TO(g0201, g0301);


        // PRICES
        PRICE(g0000) = 18;
        PRICE(g0001) = 17;
        PRICE(g0002) = 22;
        PRICE(g0003) = 17;
        PRICE(g0100) = 72;
        PRICE(g0101) = 57;
        PRICE(g0102) = 57;
        PRICE(g0200) = 242;
        PRICE(g0201) = 183;
        PRICE(g0300) = 419;
        PRICE(g0301) = 780;


        // PRICE TRENDS
        PRICE_TREND_CHANGE_PROB(g0000) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0001) = 0.13;
        PRICE_TREND_CHANGE_PROB(g0002) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0003) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0100) = 0.09;
        PRICE_TREND_CHANGE_PROB(g0101) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0102) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0200) = 0.03;
        PRICE_TREND_CHANGE_PROB(g0201) = 0.15;
        PRICE_TREND_CHANGE_PROB(g0300) = 0.14;
        PRICE_TREND_CHANGE_PROB(g0301) = 0.05;


        // 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 = 3;
        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(g0003) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0003) = 0.00;
        BUILD_FACTORY_COST(g0100) = 48;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0100) = 0.02;
        BUILD_FACTORY_COST(g0101) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0101) = 0.00;
        BUILD_FACTORY_COST(g0102) = 58;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0102) = 0.32;
        BUILD_FACTORY_COST(g0200) = 106;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0200) = 0.48;
        BUILD_FACTORY_COST(g0201) = 119;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0201) = 0.38;
        BUILD_FACTORY_COST(g0300) = 172;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0300) = 0.48;
        BUILD_FACTORY_COST(g0301) = 157;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0301) = 0.18;


        // STAFF
        // instance with marketing manager
        SALARY_MARKETING_MANAGER = 7;
        PROB_MARKETING_MANAGER_APPLIES = 0.54;
        MARKETING_MANAGER_BONUS = 0.20;

        // instance with lobbyist
        SALARY_LOBBYIST = 17;
        PROB_LOBBYIST_APPLIES = 0.53;
        LOBBYIST_BONUS = 0.21;

        // instance with production manager
        SALARY_PRODUCTION_MANAGER = 16;
        PROB_PRODUCTION_MANAGER_APPLIES = 0.42;

    };

    init-state {
        have-factory(g0101);

        price-trend(g0000) = @stable;
        price-trend(g0001) = @down;
        price-trend(g0002) = @down;
        price-trend(g0003) = @up;
        price-trend(g0100) = @stable;
        price-trend(g0101) = @stable;
        price-trend(g0102) = @stable;
        price-trend(g0200) = @stable;
        price-trend(g0201) = @stable;
        price-trend(g0300) = @stable;
        price-trend(g0301) = @up;
        
    };

    horizon = 60;

    discount = 1.0;
}