Working with the Currency Table

This chapter covers the following topics:

Currency Table Overview

Specifying Currencies

Strategic Network Optimization includes a currency table that enables you to specify different currencies and model currency fluctuations over time.

When optimizing costs and profits for global enterprises, fluctuations in currency rates must be taken into consideration. Even small changes in currency rates can significantly change overall costs.

The Currency Table in Strategic Network Optimization enables you to easily consider these factors when making strategic decisions.

The Currency Table is seen here below:

the picture is described in the document text

The Base Currency is used throughout the model to represent costs.

The Currency Model Checkbox

When changing data in a model, you can enter values in both the Cost (base currency) and the Cost in Currency (local currency) fields. If you change the data in one, the other automatically changes as well.

Strategic Network Optimization uses the Currency Model check box in the Currency Table to determine whether Cost or Cost in Currency values are recalculated. If Currency Model is selected, Cost in Currency values are assumed correct and Cost fields are recalculated. If the Currency Model check box is not selected, Cost fields are assumed correct and Cost in Currency fields are recalculated.

When changing data through import files, you can enter values in both the Cost field and the Cost in Currency fields. If your import file contains values for both of these fields, inconsistent data can exist in the model.

Strategic Network Optimization recalculates either the Cost fields or the Cost in Currency fields to ensure that consistent cost data exists, by following these rules:

Example: The Currency Model Check Box

This example illustrates how a model is affected, based on whether or not the Currency Model check box is selected.

The following table shows the results, based on whether or not the Currency Model check box is selected.

Currency Model Result
Selected The Cost in Currency field is considered correct, and the Cost field is changed to 5 USD.
Not selected The Cost field is considered correct and the Cost in Currency field is changed to 20 Canadian Dollars.

Currency in Nodes and Arcs

When you query a node or arc, the Currency field specifies the currency that is used to calculate the Cost in Currency or the Profit in Currency values. The same currency is used for all periods in a given node or arc.

After you define the base currency in the Currency Table, new nodes or arcs that you create display the base currency. If you do not define any currencies, all of the costs in your model are represented in the same cost unit. If you do not use currencies in your model, the default currency code for every node and arc is Default.

You can display nodes and arcs in different currencies to reflect the local currency. For example, assume that you have plants in Canada, Germany, and the United States. By specifying a different currency for the nodes and arcs that apply to each country, you can view information about each location in Canadian dollars, German Deutsche Marks, and U.S. dollars, respectively.

The values in the Cost fields are always displayed in the base currency, and these values are passed to the solver.

The Cost in Currency and Revenue in Currency fields allow you to enter information in the currency that is used wherever the node is located. If you have a plant in Pittsburgh, Pennsylvania, and another in Birmingham, England, you can enter cost values for the Pittsburgh plant in U.S. dollars and for the Birmingham plant in British pounds. Strategic Network Optimization uses the rates that you have defined in the Currency Table to convert the Cost in Currency values to the base currency. The system displays the base currency values in the Cost field.

Values that you enter in the Cost in Currency field are expressed in the local currency that is defined for that node. For example, assume that your base currency is U.S. dollars and the rate for Canadian dollars is 1.5, relative to the base currency. If you enter a value of 150 into the Cost in Currency field in a single- or multiperiod query for one of your Canadian plants with local currency in Canadian dollars, the system enters 150 in the Cost in Currency field, and 100 in the Cost field, which is the equivalent value in the base currency, U.S. dollars.

If you enter a cost of 200 into the Cost field in a single-period or multiple-period query for one of your Canadian plants with local currency in Canadian dollars, the system displays 200 in the Cost field (which is the equivalent value in the base currency, U.S. dollars) and 300 in the Cost in Currency field.

The Under Cost, Over Cost, Opportunity, and Penalty fields display values in the base currency; however, the Currency Table does not affect these costs.

Assume that you made a mistake and the plant in the previous example is in London, England, not London, Ontario, Canada. In response to your error, you change the local currency defined for that node to U.K. pounds. In this case, the Cost in Currency value is still 150, but this means 150 pounds instead of 150 dollars. The Cost value changes according to the rate of U.K. pounds relative to the base currency of U.S. Dollars. If you change the value in the Currency field, the Cost values change but the value in the Cost in Currency field remains the same. If you change the value in the Cost in Currency field, the value in the Cost field changes as well.

Note: Changing the local currency that appears in a node has the same effect as entering new cost values. When you change the currency in a node, you effectively change the model data; subsequent solve results represent the changed costs.

The Replace Tool

You can also enter and change currency cost values in nodes and arcs by using the Replace tool.

If you use the replace tool to enter cost information in nodes that are using different currencies, the values that are displayed depend on the currency that is defined for that node and whether you have selected the Currency Model check box in the Currency Table.

For example, in the Currency Table, suppose that you define your base currency as CDN. The rate for USD is 0.83452, and the rate for the Euro as 0.621289.

the picture is described in the document text

In this example, most nodes use CDN, but you have a Storage node with Currency defined as USD.

the picture is described in the document text

You use the Replace tool to assign a Cost in Currency of 100 and Cost 100.

the picture is described in the document text

If you use the Show/Hide Fields window to select the fields that you want to display in the nodes and arcs, the same fields are displayed in the Replace tool.

If you do not select the Currency Model check box, the values in the Cost field are considered correct. The values in the Cost become 100 and Cost in Currency fields are recalculated based on Cost, as illustrated in the following example:

the picture is described in the document text

Penalty Costs

Under, over, and safety costs are used to model penalty costs relative to other nodes. To do this effectively, you must be able to compare penalty costs directly in different nodes. This comparison could be confusing if the penalty costs are represented in several different currencies in different nodes. To avoid this confusion, penalty costs are always shown and entered in base currency, regardless of the local currency of that node.

Note: Penalty costs must always be greater than real costs because penalty costs are calculated by taking all costs and subtracting the real costs. If the penalty costs were less than the real costs, they would appear as a negative number in the Summary report. When using the solver, this circumstance would then be an incentive to violate Min and Max values, which would result in invalid solutions.

If you are modeling real costs and a penalty cost is increased to more than the cost and then a subsequent change in currency reduces your cost, the penalty cost is not subsequently reduced along with the cost.

Opportunity costs are displayed in the base currency.

Currency and Import Files

You can use import files to update the Currency Table or to import currency values into nodes or arcs.

Import Files and Currency Rates

Import commands have been added to allow you to update the Currency Table from import files.

You can use the addcurrency import command to specify data for the currency table. The syntax is:

addcurrency <currencyName> "Currency name" <currencyCode> Code <period> "period" <conversionRate> "rate" 

For example:

addcurrency <currencyName> Canadian Dollar <currencyCode> CDN <period> June 2001 <conversionRate> 1.56 

This command adds Canadian Dollar to the Currency Table and sets the exchange rate, relative to the base currency, at 1.56. A new <baseCurrency> tag was also added to the addroot import command. This tag specifies the base currency code for the model. The syntax is:

addroot <baseCurrency> code 

Note: The currency should be defined in order to use this command. You can define the currency in the same import file if you have not already done so.

Import Files and Currency Values

You can use the import feature in Strategic Network Optimization to import currency values into the nodes and arcs. The syntax is:

addnode <type> type <name> name <cost> cost <costincurrency> cost <currency> currency_code 

Note: Do not import <costincurrency> and <cost> values in the same command. The conversions from Cost in Currency to Cost are done for you, based on the rates in the Currency Table.

For example:

addnode <type> Machine <name> machine1 <cost> 10 <currency> CDN 

If the Currency Model check box is not selected, this command sets the Cost value on the Machine node called machine1 to 10.00 and sets the local currency of the node to CDN. It then uses the rates in the Currency Table to calculate the value of the Cost in Currency field. You can disable the Currency Model feature by entering the following command in your import file:

addroot <currencymodel> False

If the Currency Model check box is selected, the Cost in Currency value does not change because the Cost in Currency value is calculated based on the Cost value, and this command does not change the Cost in Currency value.

You can enable the Currency Model feature by entering the following command in your import file:

addroot <currencymodel> True

Note: The specified currency-in this case, CDN must already exist in the Currency Table.

For example:

addnode <type> Machine <name> machine1 <costincurrency>
10 <currency> CDN

This command sets the Cost in Currency value in the machine node called machine1 to 10.00 Canadian Dollars.

If the Currency Model button in the Currency Table is selected, this command sets the Cost in Currency field in the Machine node called machine1 to 10.00. It then uses the rates in the Currency Table to determine the Cost value.

If the Currency Model button in the Currency Table is not selected, the Cost in Currency value does not change because the Cost in Currency value is calculated based on the Cost value, and this command does not change the Cost value.

Defining Currency Rates

Currency Rates Overview

After you have defined your base currency, you can enter other currencies in the Currency Table, and then define their rates relative to the base currency for each period. If you should change the base currency, the system displays the new currency. For example, if the base currency is changed from U.S. dollars to Japanese yen, the value of the Japanese yen is displayed as 1 for every period, and all of the other currency rates change to reflect the new base currency.

If you select the Currency Model check box feature, the Cost fields in all nodes and arcs change accordingly.

Note: When you modify the base currency, the system reflects the change throughout the entire model, in all of the nodes and arcs. This action has the same effect as changing all of your cost values. Use care before you change the base currency.

If you change the base currency, the system automatically reflects the change in the Summary report and the Detailed Report. No resolve is required.

Adding a Currency

To add a currency:

  1. From the Tools menu, select Currency Table.

  2. In the Currency Table window, select New Currency Code from the Actions menu.

  3. In the new blank row, do the following:

    • In the Currency Name column, enter the name of your currency.

    • In the Code column, enter a code to represent your currency.

  4. After entering rates for all periods, click Apply.

  5. Repeat steps 2 through 4 for each of the currencies that you want to define.

Currency codes must be unique. You cannot define more than one currency with the same code.

Deleting a Currency

To delete a currency:

  1. From the Tools menu, select Currency Table.

  2. In the Currency Table window, click the currency row that you want to delete.

  3. From the Actions menu, select Delete Currency Code.

  4. Click Apply.

If the deleted currency is being used in any arcs or nodes, the currency in those arcs and nodes reverts back to the base currency.

You cannot delete the base currency.

If you change the rates between currencies, the values in the Cost and Cost in Currency fields in all nodes and arcs that are using that currency change to reflect the new rate. If the Currency Model check box is selected, the values in the cost in currency fields remain unchanged and the values in the Cost fields change. If the Currency Model check box is not selected, the values in the cost in currency fields remain change and the values in the Cost fields remain unchanged.

Changing a Currency Rate

To change a currency rate:

  1. From the Tools menu, select Currency Table.

  2. In the Currency Table window, click the currency rate that you want to change.

  3. Enter the new currency rate.

  4. Click Apply.

Changing the Currency Display Precision

To change the number of decimal places displayed in the Currency Table:

  1. From the View menu, select Options.

  2. In the View Options window, select the Display tab.

  3. Enter the number of decimal places in the Currency Precision field.

  4. Click Apply.

Defining the Base Currency

The base currency can be defined in the Currency Table. There can be only one base currency. You can then enter other currencies in the table, and define their currency rates relative to the base currency for each period. This feature allows you to enter and display the costs in your model in local currencies that are based on fluctuating currency rates in effect for each period.

The solver uses the base currency to solve your model, and all of your reports are displayed in the base currency. Penalty costs and risk adjusted costs are also displayed in the base currency.

The Currency Table initially lists only one currency: Default Currency. The default currency rate is 1 in each period.

Note: The base currency rate must be 1 in each period.

To define a base currency:

  1. From the Tools menu, select Currency Table.

  2. In the Currency Table window, select the Actions menu.

  3. Select New Currency Code.

  4. In the Currency Name column, enter the base currency name, for example, U.S. Dollars.

  5. In the Code column, enter a code to represent your base currency-for example, USD.

  6. Click Apply.

  7. In the Base Currency drop-down menu, select the base currency code-for example, USD.

Changing the Base Currency

You can use any of the defined currencies as your base currency. For example, you can set U.S. Dollars as your base currency, and define the rates for all other currencies in your model relative to the U.S. Dollar. If you decide to change the base currency to Canadian Dollars, the rates of the other currencies are updated so that they are based on their value relative to the Canadian Dollar.

The following example shows the Currency Table with the base currency set to Canadian Dollars (CDN):

the picture is described in the document text

Note: When you change the base currency, the system reflects the change throughout the entire model, in all of the nodes and arcs. This action has the same effect as changing all of your cost values. Keep this in mind before you change the base currency.

To change the base currency: 1. Select the new base currency from the Base Currency menu. 2. Click Apply. The rate for the base currency in all periods becomes 1.00, and all other currency rates change relative to the new base currency. When you change the base currency, the change is automatically reflected in the Summary report and the Detailed Report. No resolve is required.

  1. From the Tools menu, select Currency Table.

  2. In the Currency Table window, select the new base currency from the Base Currency menu.

  3. Click Apply.

The rate for the base currency in all periods becomes 1.00, and all other currency rates change relative to the new base currency. When you change the base currency, the change is automatically reflected in the Summary report and the Detailed Report. No resolve is required.

Defining Currency in Nodes and Arcs

Defining Currency in a Node or Arc

To define the currency in each node and arc:

  1. Open a properties window for the node or arc.

  2. In the Currency field, select a currency from the drop-down list.

Only currencies that have been previously defined in the Currency Table appear in this drop-down list. To add a new currency, select Go to Currency Table from the drop-down list. Cost in Currency is displayed in the currency specified in the node or arc.

Cost data is adjusted based on the Cost in Currency value and the exchange rate between the base and local currencies for this currency.

Defining Currency in Multiple Nodes and Arcs

To define the currency in multiple nodes and arcs:

  1. Select the nodes and arcs to which you want to apply the same currency.

  2. From the Edit menu, select Replace, Object, Node (all types).

  3. In the Node Replace window, select a currency from the Currency field drop-down list.

    Only currencies that have been previously defined in the Currency Table appear in this drop-down list. To add a new currency, select Go to Currency Table from the drop-down list.

  4. In the Period(s) area of the Replace window, select either All or Current.

  5. In the Replace in area of the Replace window, select either Model or Selected Nodes.

  6. Click Replace.

Applying Currency to All Nodes in a Block Node

To apply currency to all nodes within a Block node:

  1. Select the Block node.

  2. From the Edit menu, select Replace, Object, Node (all types).

  3. In the Node Replace window, select a currency from the Currency field drop-down list.

    Only currencies that have been previously defined in the Currency Table appear in this drop-down list. To add a new currency, select Go to Currency Table from the drop-down list.

  4. In the Period(s) area of the Node Replace window, select either All or Current.

  5. In the Replace in area of the Node Replace window, select either Model or Selected Nodes.

  6. Click Apply.

Exporting Currency Values Using Smarts

Exporting Currency Data

You can export cost values to the Data Editor in the base currency or in local currencies. You might want to see Data Editor views with local currencies so that you can create reports with multiple currencies. The local currency is shown in the Data Editor if you extract the currency field in the report query.

Note: When doing sums for nodes or arcs that use different currencies, you do not get a meaningful result.

To export data in local currencies:

  1. Create a report query, adding query labels for the fields that you want to extract from the model.

  2. Add a label to the Currency field of the report query so that the Data Editor displays the code for the currency that is being used.

  3. Apply the Smarts. The data, including the Currency field, is extracted.

To export data in base currency:

  1. Create a report query, adding query labels for the fields that you want to extract from the model.

  2. Add a label to the Currency field of the report query so that the Data Editor displays which currency is being used.

  3. Apply the Smarts. The data, including the currency field, is extracted.

Note: Exporting the Currency field has no effect on calculations and is only used as a description in the Data Editor.