Skip to content

Skill with Cost Model

How to use the "skill with expertise and cost model" condition in JOpt.

Get more help via:


Skill With Expertise And Cost Model

This example delves into a comprehensive scenario where the Resource-type-Expertise condition is applied alongside a cost-model that accommodates both minimum and maximum expertise levels.

Consider a company that specializes in roof repair and cleaning services for various customers. Customers have the option to specify the expertise level required for the slater assigned to their job.

The expertise levels are categorized as follows: A level from 1 to 5 signifies a journeyman, whereas a level from 5 to 10 indicates a master-level expertise. Moreover, certain customers have specifications regarding the maximum permissible weight for the slater, inclusive of their equipment. In this context, a weight level from 1 to 3 corresponds to a maximum of 100 kg, a level from 3 to 6 allows for up to 125 kg, and any level above 6 is capped at 150 kg.

The company employs three slaters, each with distinct levels of expertise: Jack boasts a top-tier expertise level of 10, John is at level 2, reflecting a novice skillset, and Paula is at an intermediate level of 5.

The task at hand involves catering to four distinct customers, each with unique service requirements and expectations.

Cost Models

The cost model in the example is a key part of the optimization algorithm used to determine the most suitable resource (in this case, a slater) for a job based on expertise levels. The cost model dictates how the optimization process should consider the match between the slater's expertise level and the customer's requirements, impacting the overall cost of assigning a particular slater to a job. Here's how each cost model affects the assignment:

SkillWithExpertiseCostModel.NO_PENALIZE_MATCHING_SKILL:

Situation: The customer requires a slater with at least level 5 expertise.

Resource Provided: Slater with level 8 expertise.

Cost Implication: No additional cost is incurred for assigning a slater with higher expertise than required. The main goal is to meet or exceed the minimum requirement.

SkillWithExpertiseCostModel.PENALIZE_MATCHING_SKILL_LOW_DELTA:

Situation: The customer prefers a highly qualified slater and requires a minimum of level 5 expertise.

Resource Provided: Slater with level 8 expertise.

Cost Implication: There is a penalty cost for the difference (delta) between the actual expertise level of the slater (8) and the required level (5). This cost model assumes that higher expertise than necessary is desirable but not to the extent that it should be free of any cost. The closer the slater's expertise to the required level without going below it, the lower the penalty.

SkillWithExpertiseCostModel.PENALIZE_MATCHING_SKILL_HIGH_DELTA:

Situation: The customer is willing to pay for the slater's services and seeks an exact or close match to their required expertise level of 5.

Resource Provided: Slater with level 8 expertise.

Cost Implication: There is a higher penalty cost for the difference between the slater's level and the required level because the customer is looking for the best match possible. In this case, a slater with level 5 expertise would be the ideal candidate, and assigning one with level 8 incurs extra costs, reflecting the customer's preference for a precise match.

In optimization terms, these cost models are used to calculate the "cost" or "penalty" for resource assignments during the optimization process. These costs influence the optimization algorithm's decision-making process to find the most cost-effective match between resources and jobs based on the defined constraints and preferences.

Usage

To test this example, you can visit it here.


Authors

A product by dna-evolutions ©