DefaultInsuranceCompany

class scml.scml2019.DefaultInsuranceCompany(premium, premium_breach_increment, premium_time_increment, a2f, disabled=False, name=None)[source]

Bases: scml.scml2019.InsuranceCompany

Represents an insurance company in the world

Methods Summary

buy_insurance(contract, insured, against)

Buys insurance for the contract at the premium calculated by the insurance company.

evaluate_insurance(contract, insured, against)

Can be called to evaluate the premium for insuring the given contract against breaches committed by others

init()

Called to initialize the agent after the world is initialized.

is_insured(contract, perpetrator)

type contract

Contract

respond_to_renegotiation_request(contract, …)

Called to respond to a renegotiation request

set_renegotiation_agenda(contract, breaches)

Received by partners in ascending order of their total breach levels in order to set the renegotiation agenda when contract execution fails

step()

does nothing

Methods Documentation

buy_insurance(contract, insured, against)[source]

Buys insurance for the contract at the premium calculated by the insurance company.

Remarks:

The agent can call evaluate_insurance to find the premium that will be used.

See also

evaluate_premium

Return type

Optional[InsurancePolicy]

evaluate_insurance(contract, insured, against, t=None)[source]

Can be called to evaluate the premium for insuring the given contract against breaches committed by others

Parameters

Remarks:

  • The premium returned is relative to the contract price. To actually calculate the cost of buying this insurance, you need to multiply this by the contract value (quantity * unit_price).

Return type

Optional[float]

init()[source]

Called to initialize the agent after the world is initialized. the AWI is accessible at this point.

is_insured(contract, perpetrator)[source]
Parameters

Returns:

Return type

bool

respond_to_renegotiation_request(contract, breaches, agenda)[source]

Called to respond to a renegotiation request

Parameters
  • agenda (RenegotiationRequest) –

  • contract (Contract) –

  • breaches (List[Breach]) –

Returns:

Return type

Optional[Negotiator]

set_renegotiation_agenda(contract, breaches)[source]

Received by partners in ascending order of their total breach levels in order to set the renegotiation agenda when contract execution fails

Parameters
  • contract (Contract) – The contract being breached

  • breaches (List[Breach]) – All breaches on contract

Return type

Optional[RenegotiationRequest]

Returns

Renegotiation agenda (issues to negotiate about to avoid reporting the breaches).

step()[source]

does nothing