Distribute\fanalys\fanalys\B Auswev.FOR

From COSSAN Wiki
Jump to: navigation, search

This text file stores the source code from auswev and riknot

subroutine auswev

The documentation (after being translated to english via google translate) store the intermediate results at the current node evaluation of the results of the current node possibly targeted determination of the next node.

parameters

Input

  • logical
    1. gleikn
      • (has)the same node is in the current optimization problem and has already been dealt with? - yes / no
    2. feswer

Output (pointer)

  • integer:
    1. wosohi
      • wosohi can only have 1 values within this subroutine, 0 or 1. The subroutine comment says that if wosohi is 0, then "nodes inthe entire input range for current alpha - cut". And that if wosohi is 1, "nodes in a fixed area around the current node." Therefore wosohi appears to be a control variable, and does not appear to store the 'number' of nodes.
    2. weiter
      • if zero the optimization is sufficiently accurate and optimization ends (translated with google translate)
      • if one the next node is determined by chance (translated with google translate)
      • if two the next node is specifically specified (translated with google translate)
  • logical:
    1. erstri
      • if true exactly the opposite direction from the previous node assessment yet no node is set. (translated with google translate)
    2. fehler

Variables declared

This are new variables generated within the subroutine itself, and cease to exist when the subroutine is done.

  • Logical:
    1. besser (better)
      • are nodes found with better results -yes/no (translated with google translate)
  • Integer:
    1. i
    2. zeile
    3. fuznr
    4. spalnr
    5. recnum
    6. alpnum
    7. alpvo2
    8. if1
    9. iwert

Global variables used

These are variables declared in fanalys.inc. They can be written to and read from.

  • Integer:
    1. ablauf (array of length 10)
    2. knotnr (node number)
      • the current node number (translated with google translate)
    3. ergenr
      • number of the current fuzzy result size (translated with google translate)
    4. zeialt
      • Increment number, for which the current node is already present results (translated with google translate)
    5. zielin
      • MEANING OF VALUE UNKNOWN, IF DISCOVERED DESCRIBE HERE.
    6. fuzmax
      • the number of fuzzy input values (translated with google translate)
    7. minmax
      • Optimization goal: 1 ==> minimum search, 2 ==> Maximum Search (translated with google translate)
    8. bruder (brother - translated with google translate)
      • number of nodes that have been treated in the area of the preceding node within the same local search area, without an improvement in earnings has occurred
    9. versag
      • End code from analysis according to jobs.dat failure control (translated with google translate)
    10. feigra
      • the fineness for scanning (translated with google translate)
      • 0 ==> It passed the own local search range according to the field is used knoint
      • n ==> The local search area is compared to the entered as reduced n times
    11. itvoll
      • 0 ==> max. Iterations not achieved number of steps in analysis
      • 1 ==> max. Iterations number of steps achieved in the last increment of the analysis
      • -1 ==> max. Iterations achieved number of steps within the analysis at least once
  • Logical:
    1. sreibe
      • if set to true: The current field knokoo is occupied by data which is not yet written to file (translated with google translate)

Behaviour

The first thing that the code does is set the fehler(error) to False. This is because the value of fehler is conditional based on other values. It is possible that certain conditions mean that fehler is not written to again until it is read from again. This is why it is important to give it an initial value.

Next there is a check to see if the same node is in the current optimization problem and has already been dealt with? it does this by testing the value of gleikn an input to this subroutine.

modules used

None

source files included

Functions/subroutines Called

Custom

Standard

  • random
    • Prototype: void random (REAL)
    • This subroutine takes a real (floating input) pointer input, and gives the location it is pointing to a random number between 0 and 1,
  • DABS
    • This returns the double precision absolute value of its input. The input is required to be a double precision number.

Windows

None

subroutine riknot

description

This appears to be performing linear interpolation

parameters

  • Integer:
    1. hinher
      • if the value is 1, move forward , in the direction from the previous to the current node, one step behind the current node. if the value is -1, move backward, one step ahead of the previous node.

Input

none

Output (pointer)

  • Integer:
    1. hinher


misc variables

Variables declared

  • Integer:
    1. i
      • used as a counter to identify the current node number
  • Double Precision
    1. zukurz
      • The reciprocal of the minimum factor by which the new coordinates knoakt (translated)
    2. zulang
      • reciprocal value of the maximum factor by which the new coordinates knoakt
    3. hfzuku
      • auxiliary variable to clipboard zukurz
    4. hfzula
      • auxiliary variable to clipboard zulang

Global variables used

  • Real
    1. zufall (translated as random)
      • A random number between 0 and 1
  • Double Precision
    1. hf1
      • auxiliary variable


Behaviour

TODO

translated comments "defining the coordinates of the next node in the fuzzy input range on the connecting line between the current and the previous node , forward or backward increment = distance between the previous and the current node.

check the admissibility of the node with respect to the range limits and put back if necessary.

zukurz factors and determine zulang, being the coordinate with the lowest relative falls below the minimum distance.

check compliance with the Mindestabstaende and non-compliance with the L " length of the vector from the previous to the bigger current node such that its largest coordinate with respect to the permissible local search area the average takes the permissible sizes coordinates that already coincide with the range limits are not taken into account

perpendicular taken at an area boundary plane determine the direction along the field edge at random generate a random number between 0 and 1

determine coordinate

check the admissibility of the node with respect to the range limits and put back if necessary

auxiliary variables hfzuku and hfzula determine

repetition of increase in distance to the minimum distance"

modules used

None

source files included

fanalys.inc

Functions/subroutines Called

Custom

Standard

    1. Random
    2. DABS

Windows

None