text:
Q: Permutation job scheduling with partial available machines I'm looking for a suitable algorithm to solve a time scheduling problem. First i will outline the problem itself, then in a second part i will give the direction i was thinking towards for a solution. I'm trying to solve this problem because i have an interest in these kinds of problems and also because the same kind of problem can be solved later with more variables and a bigger setup.
problem
I would like to do some tests on batteries to see how they respond when connected to a load. And perform these tests in the shortest amount of time possible to complete all tests. The two important variables here are:

*

*State-of-Charge (SoC) the amount of energy left in the battery from 100% to 0%. We will test 99%, 75%, 50% and 25% (4 variations). (explained later why 99% and not 100%). We will assume the SoC lost when relaxing is 0.

*Relaxation the amount of how much the battery has relaxed in hours. We know that theoretically 24 hours should be enough, so this is the maximum. We will test different times like: 5min, 15min, 30min, 1 hour, 2 hour, 6 hour, 24 hour (7 variations).

Total combinations: 4 x 7 = 28 for one battery
The order in which the test should proceed is the following:
Charge to 100%, discharge to wanted SoC, relax, discharge to a new SoC while measuring
Example: we want to see how the battery reacts while discharging from 75% to 50% while having relaxed for 2 hours

*

*Battery has unknown SoC (measurement methods are not accurate enough)

*Recharge to 100%

*Discharge to 75%

*Relax 2 hours

*Discharge while measuring, stop at 50%

The battery can now relax again and start its measure from 50% to 25%. It does NOT have to be recharged to 100% again.
situations / states
Now i will outline some situations which can occur and what has to be done in such case.
initialization
The problem can be initialized with already performed tests (this is important because we might want to reschedule halfway through). If the batteries have a known state (SoC/relax) we can use that. If the SoC is unknown then the battery has to be recharged. If the relaxation is unknown but the SoC is known then the battery has to be relaxed for at least 24 hours.
recharge
Putting the battery in the recharger has to be done manually. Leaving the battery in the recharger is not a problem. Recharging takes about 2.5 hours. Each battery has it's own dedicated charger, but in the future we might have more batteries then chargers so the algorithm needs to be able to take a variable amount of chargers.
relaxation (relax)
Relaxation can simply be done by not connecting the battery to anything, so it does not need any special equipment. Before the relaxation time period can start the battery has to be stressed (= connected to the discharger). We don't know for sure how long the stress period will take, but we assume that the period it takes to discharge the battery 1% will be enough. 99% will therefor be the first SoC where we can accurately determine the relaxation time.
discharging
There is only one discharger at the moment, but the algorithm should be able to take a variable amount of dischargers. Putting the battery in the discharger has to be done manually (also taking it out). HOWEVER putting the battery in the discharger does not necessarily discharge the battery right away. A time can be set to start at a certain time. And the discharger can automatically stop when enough energy has been discharged. An estimate of the discharging time can be estimated from a lookup table. This is not linear so 75% to 50% does not have to take the same amount of time as from 25% to 0%. The lookup is fairly accurate (about 5 minute difference on 2.5 hours).
waiting
The battery can wait if all dischargers are taken, but waiting for a discharger raises the relaxation time. So if the relaxation time gets higher than the relaxation time needed for the measurements that have to be performed then it either has to discharge to a lower level of charge and relax again, or it has to be charged again.
The battery can wait if all chargers are taken safely, there is no penalty/disadvantage here other then loosing some time for having to wait.
constraints
The things that have to be done manually can only be done during office hours (monday-friday 8:30-17:00). So for example putting the battery in the discharger has to be done manually. Then at a set time in the night (after the battery has relaxed enough) the discharger can be started on a timer, then next morning when arriving at the office the battery can be put in the charger.
thoughts for a solution
I'm not sure if i'm thinking in the right direction here, because i don't have the working solution yet. So anything in the part might be wrong..
The sequence of tasks matter because a different sequence might introduce more or less waiting time then another sequence. So for just one battery with 28 tests that will be a permutation of 28! which is quite big number. Therefor an exhaustive search of the problem space is not feasible. The only type of algorithm that i know that can give a fairly good result on these kinds of problems is the genetic algorithm. Though with all the constraints and possibilities i can not just use a classic genetic algorithm. I've read some (research) papers and eventually the description of the Permutation Flowshop Scheduling Problem (PFSP) resonated the most (various sources). Although the mentioned Extended Job-Shop Scheduling Problem (EJSSP) here was also interesting.
The biggest problem i see is the office hours constraint. If it wasn't for that the scheduling could be similar to just fitting blocks into time slots (even though the slots would be of dynamic size). I'm not sure what is the best way to deal with this constraint. Either i could model the machines (discharger) as two separate machines that are each active at different moments, or i could introduce fake jobs so that the machines can not be taken by the normal jobs.
This is just speculation at this point, because of my lack of experience. I'm more of a pragmatic programmer than an academic and i have a real hard time to figure out which of the possible algorithms are suitable and what the caveats are. I'm happy to do the implementation, but right now im still stuck at:

*

*which algorithms are suitable for this type of problem?

*how do i set the special conditions on the algorithms?

*how do i can i make a crossover/selection/mutation function?

*do i need to break this problem up in sub problems and incorporate that into a bigger algorithm? Which sub-problems are optimal to solve first?

*how would the pseudo-code look like?

A: As this is StackOverflow, and as you are going to spend fkn 500 of your hardly earned points, and as I am greatly interested in this stuff myself, I wrote you some example code which implements the recipe I presented a few days ago. Although it is a toy model which is solved there, it contains most of the issues of your original problem, and -- given enough computer power -- might be readily extended to solve the latter.
Model problem
Let us consider the following model problem:

*

*N=2 batteries, M=2 Rechargers, K=1 Discharger.

*Time T proceeds in multiples of 6 hours: 0:00, 6:00, 12:00, 18:00. Office hours are all except 0:00 in the night.

*Battery states are:

*

*SoC in {0%,50%,100%}

*Relax in {0h,6h,12h,18h,24h}
Batteries are initially in the state {0%,0h}, i.e. uncharged at the start of the test conduction (Relax is unimportant as one anyway needs to recharge first).

*Available actions are:

*

*RELAX: do nothing. Increases Relax by 6 hours.

*RECHARGE: increases SoC to the next state and sets Relax to 0h.

*MEASURE: decreases SoC to the previous state and also sets Relax to 0h.

Each action "costs" 6 hours.
Note that MEASURE behaves almost identically to what you called DISCHARGE. Particularly, if MEASURE is applied to a battery state which is not a test case, it is just a DISCHARGE. However, and that is the only difference, when MEASURE is applied to one of the test cases also the Test state is updated.

*Batteries need to be measured once for each state {SoC,Relax} in {{50%,6h},{100%,6h},{50%,24h},{100%,24h}}. That makes a Test vector of dimension four containing either zeros or ones.
Once you got familiar with the implementation below, you can easily change all these choices.
Model description
I'm going to use the system description as presented in my previous answer. In particular, the state of the system is given by a multi-vector
{Test, T, {SoC_1,Relax_1}, {SoC_2,Relax_2}}

This is in fact not the best state variable (--a state variable should always be as compact as possible). For example, it is not accounted for the symmetry of the batteries. In "reality-hard" models, problems as this should be avoided whenever possible.
Further, I simplified things by assuming all happens in time-steps of 6 hours. By this one can simply increase the T variable by 6 hours after each action. If there were actions with a duration of, say, 12 hours, one would need to add further variables to the state variable which indicate whether the battery is blocked and when it will be available again. Not to speak if there would be an action which lasted 5 hours, for instance. So you see, the time is treated rather basic here.
Implementation
I've used C++ for the implementation and I hope you're comfortable with that. The code itself is already rather lengthy, but I tried to comment it at least a bit. Here are the main points implementation:

*

*First, regarding the basic elements: the more elementary ones are given by enums such as
enum struct StateOfCharge
{
    P0=0,
    P50,
    P100,
    END_OF_LIST
};

Integers would have also worked well, but I guess it becomes easier to read using enums. For these enums, I've also provided operator<< for screen output as well as operator++ and operator-- for increasing/decreasing the state. The two latter operators are function templates accepting any enum (--at least if it contains a state END_OF_LIST).

*The more advanced elements such as states and actions are classes. Particularly the State class contains a lot of logic: it is able to tell whether a given action is allowed via its member
bool isActionAllowed(Action const&) const

Further it can give you the next state for a given action via
State nextState(Action const&) const

These functions are central in the value iteration descibed next.

*There is the class BatteryCharger, which performs the actual dynamic programming algorithm. It contains a container std::map<State,int> to store the value of a given state (remember that the value here is simply the time required to finish, which naturally shall be minimized). In order for the map to work, there is also an operator< comparing two State variables.

*Finally, a few words on the Value Iteration scheme. In the answer above, I wrote one can do it by backward-iteration. This is true, but it can become rather complicated because you need to find a way back such that all possible states are covered (and at best only once). Although this would be possible here, one can also simply iterate over all states in an arbitrary way. This needs to be done iteratively, however, because otherwise you draw on state-values which you haven't optimized yet. The iteration here ends when all values are converged.
For more on value iteration, see again the book of Sutton and Barto.
Code
Here is the code. It's not particularly well written (--global variables etc.), but it works and can be easily extended:
#include<iostream>
#include<array>
#include<map>
#include<type_traits>
#include<algorithm>

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
bool isLast(T const& t)
{
    return t == static_cast<T>(static_cast<int>(T::END_OF_LIST) - 1);
}

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
bool isFirst(T const& t)
{
    return t == static_cast<T>(0);
}

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
T& operator++(T& t)
{
    if (static_cast<int>(t) < static_cast<int>(T::END_OF_LIST) - 1)
    {
        t = static_cast<T>(static_cast<int>(t)+1);
    }
    return t;
}

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
T operator++(T& t, int)
{
    auto ret = t;
    ++t;
    return ret;
}

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
T& operator--(T& t)
{
    if (static_cast<int>(t) > 0)
    {
        t = static_cast<T>(static_cast<int>(t)-1);
    }
    return t;
}

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value >::type>
T operator--(T& t, int)
{
    auto ret = t;
    --t;
    return ret;
}

const int Nbattery = 2;
const int Nrecharger = 2;
const int Ndischarger = 1;
const int Ntest = 4;

enum struct StateOfCharge
{
    P0=0,
    P50,
    P100,
    END_OF_LIST
};

//screen output
std::ostream& operator<<(std::ostream& os, StateOfCharge const& s)
{
    if(s==StateOfCharge::P0) os << "P0";
    else if (s==StateOfCharge::P50) os << "P50";
    else if (s == StateOfCharge::P100) os << "P100";
    return os;
}

enum struct StateOfRelax
{
    H0=0,
    H6,
    H12,
    H18,
    H24,
    END_OF_LIST
};

//screen output
std::ostream& operator<<(std::ostream& os, StateOfRelax const& s)
{
    if(s==StateOfRelax::H0) os << "H0";
    else if (s == StateOfRelax::H6) os << "H6";
    else if (s == StateOfRelax::H12) os << "H12";
    else if (s == StateOfRelax::H18) os << "H18";
    else if (s == StateOfRelax::H24) os << "H24";
    return os;
}

struct SingleBatteryState
{
    //initialize battery as unfilled
    StateOfCharge SoC;
    StateOfRelax Relax;
    SingleBatteryState(StateOfCharge _SoC = static_cast<StateOfCharge>(0), StateOfRelax _Relax = static_cast<StateOfRelax>(0))
        : SoC(_SoC)
        , Relax(_Relax)
    {}

    //loop over state
    bool increase()
    {
        //try to increase Relax
        if (!isLast(Relax))
        {
            ++Relax;
            return true;
        }
        //if not possible, reset Relax
        else if (!isLast(SoC))
        {
            ++SoC;
            Relax = static_cast<StateOfRelax>(0);
            return true;
        }

        //no increment possible: reset and return false
        SoC = static_cast<StateOfCharge>(0);
        Relax = static_cast<StateOfRelax>(0);
        return false;
    }
};

std::ostream& operator<<(std::ostream& os, SingleBatteryState const& s)
{
    os << "("<<s.SoC << "," << s.Relax << ")";
    return os;
}

bool operator<(SingleBatteryState const& s1, SingleBatteryState const& s2)
{
    return std::tie(s1.SoC, s1.Relax) < std::tie(s2.SoC, s2.Relax);
}

bool operator==(SingleBatteryState const& s1, SingleBatteryState const& s2)
{
    return std::tie(s1.SoC, s1.Relax) == std::tie(s2.SoC, s2.Relax);
}

//here specify which cases you want to have tested
std::array<SingleBatteryState, Ntest> TestCases = { SingleBatteryState{ StateOfCharge::P50, StateOfRelax::H6 }
                                                  , SingleBatteryState{ StateOfCharge::P50, StateOfRelax::H24 }
                                                  , SingleBatteryState{ StateOfCharge::P100, StateOfRelax::H6 }
                                                  , SingleBatteryState{ StateOfCharge::P100, StateOfRelax::H24 } };

// for a state s (and action MEASURE), return the entry in the array Test
// which has to be set to true
int getTestState(SingleBatteryState const& s)
{
    auto it = std::find(std::begin(TestCases), std::end(TestCases), s);

    if(it==std::end(TestCases))
        return -1;
    else
        return it - std::begin(TestCases);
}

enum struct SingleAction
{
    RELAX = 0,
    RECHARGE,
    MEASURE,
    END_OF_LIST
};

std::ostream& operator<<(std::ostream& os, SingleAction const& a)
{
    if(a== SingleAction::RELAX) os << "RELAX";
    else if (a == SingleAction::RECHARGE) os << "RECHARGE";
    else if (a == SingleAction::MEASURE) os << "MEASURE";

    return os;
}

enum struct TimeOfDay
{
    H0 = 0,
    H6,
    H12,
    H18,
    END_OF_LIST
};

//here set office times
std::array<TimeOfDay,3> OfficeTime = {TimeOfDay::H6, TimeOfDay::H12, TimeOfDay::H18};

bool isOfficeTime(TimeOfDay t)
{
    return std::find(std::begin(OfficeTime), std::end(OfficeTime),t) != std::end(OfficeTime);
}

//screen output
std::ostream& operator<<(std::ostream& os, TimeOfDay const& s)
{

    if(s==TimeOfDay::H0) os << "0:00 h";
    else if (s == TimeOfDay::H6) os << "6:00 h";
    else if (s == TimeOfDay::H12) os << "12:00 h";
    else if (s == TimeOfDay::H18) os << "18:00 h";
    return os;
}

struct Action
{
    SingleAction& operator[](int i) { return A[i]; }
    SingleAction const& operator[](int i) const { return A[i]; }

    std::array<SingleAction, Nbattery> A{};

    bool increase()
    {
        for (int i = Nbattery - 1; i >= 0; --i)
        {
            if (!isLast(A[i]))
            {
                ++A[i];
                return true;
            }
            else
            {
                A[i] = static_cast<SingleAction>(0);
            }
        }
        return false;
    }
};

//screen output
std::ostream& operator<<(std::ostream& os, Action const& A)
{
    os << "(";
    for (int i = 0; i < Nbattery-1 ; ++i)
    {
        os << A[i] << ",";
    }
    os << A[Nbattery-1] << ")";

    return os;
}

struct State
{
    std::array<bool, Ntest> Test{};
    TimeOfDay T = TimeOfDay::H0;
    std::array<SingleBatteryState, Nbattery> B{};

    State()
    {
        for (int i = 0; i < Ntest; ++i)
        {
            Test[i] = true;
        }
    }

    bool isSingleActionAllowed(SingleAction const& a) const
    {
        if ( !isOfficeTime(T) &&  a != SingleAction::RELAX)
        {
            return false;
        }

        return true;
    }

    bool isActionAllowed(Action const& A) const
    {
        //check whether single action is allowed
        for (int i = 0; i < Nbattery; ++i)
        {
            if (!isSingleActionAllowed(A[i]))
                return false;
        }

        //check whether enough Rechargers and Dischargers are available
        int re = 0;
        int dis = 0;

        for (int i = 0; i < Nbattery; ++i)
        {
            //increase re counter
            if (A[i] == SingleAction::RECHARGE)
            {
                ++re;
            }
            //increase dis counter
            else if (A[i] == SingleAction::MEASURE)
            {
                ++dis;
            }

            //check whether ressources are exceeded
            if (re>Nrecharger || dis > Ndischarger)
            {
                return false;
            }
        }

        return true;
    }

    //loop over state
    bool increase()
    {
        //increase time
        if (!isLast(T))
        {
            ++T;
            return true;
        }
        else
        {
            T = static_cast<TimeOfDay>(0);
        }

        //if not possible, try to increase single battery states
        for (int i = Nbattery-1; i >= 0; --i)
        {
            if (B[i].increase())
            {
                return true;
            }
        }

        //if also not possible, try to increase Test state
        for (int i = Ntest-1; i >=0; --i)
        {
            if (Test[i])
            {
                Test[i] = false;
                return true;
            }
            else
            {
                Test[i] = true;
            }
        }

        return false;
    }

    // given a single action and a single-battery state, calculate the new single-battery state.
    // it is assumed the action is allowed
    SingleBatteryState newState(SingleBatteryState s, SingleAction const& a) const
    {
        if (a == SingleAction::RELAX)
        {
            ++s.Relax;
        }
        else if (a == SingleAction::RECHARGE)
        {
            ++s.SoC;
            s.Relax = static_cast<StateOfRelax>(0);
        }
        else if (a == SingleAction::MEASURE)
        {
            --s.SoC;
            s.Relax = static_cast<StateOfRelax>(0);
        }
        return s;
    }

    // calculate new complete state while assuming the action s allowed
    State newState(Action const& a) const
    {
        State ret = *this;

        //increase time
        if (isLast(ret.T))
        {
            ret.T = static_cast<TimeOfDay>(0);
        }
        else
        {
            ret.T++;
        }

        //apply single-battery action
        for (int i = 0; i < Nbattery; ++i)
        {
            ret.B[i] = newState(B[i], a[i]);

            // if measurement is performed, set new Test state.
            // measurement is only possible if Soc=50% or 100%
            // and Relax= 6h or 24h
            if (a[i] == SingleAction::MEASURE
                && getTestState(B[i]) != -1)
            {
                ret.Test[getTestState(B[i])] = true;
            }
        }
        return ret;
    }

    int cost(Action const& a) const
    {
        if (std::find(std::begin(Test), std::end(Test), false) == std::end(Test))
        {
            return 0;
        }
        return 1;
    }

};

//screen output
std::ostream& operator<<(std::ostream& os, State const& S)
{
    os << "{(";
    for (int i = 0; i < Ntest-1; ++i)
    {
        os << S.Test[i]<<",";
    }
    os << S.Test[Ntest-1] << "),"<<S.T<<",";

    for (int i = 0; i < Nbattery; ++i)
    {
        os << "(" << S.B[i].SoC << "," << S.B[i].Relax<<")";
    }
    os << "}";

    return os;
}

bool operator<(const State& s1, const State& s2)
{
    return std::tie(s1.Test, s1.T, s1.B) < std::tie(s2.Test, s2.T, s2.B);
}

struct BatteryCharger
{
    bool valueIteration()
    {
        // loop over all states with one specified Test state
        State S;

        int maxDiff=0;
        do
        {
            int prevValue = V.find(S)->second;
            int minCost = prevValue;

            // loop over all actions
            // and determine the one with minimal cost
            Action A;
            do
            {
                if (!S.isActionAllowed(A))
                {
                    continue;
                }

                auto Snew = S.newState(A);
                int newCost = S.cost(A) + V.find(Snew)->second;

                if (newCost < minCost)
                {
                    minCost = newCost;
                }
            }
            while (A.increase());

            V[S] = minCost;

            maxDiff = std::max(maxDiff, std::abs(prevValue - minCost));
        }
        while (S.increase());

        //return true if no changes occur
        return maxDiff!=0;
    }

    void showResults()
    {
        State S;
        do
        {
            auto Aopt = getOptimalAction(S);
            auto Snew = S.newState(Aopt);
            std::cout << S << "   " << Aopt << "   " << Snew << "   " << V[S] << "   " << V.find(Snew)->second << std::endl;
        }
        while (S.increase());
    }

    Action getOptimalAction(State const& S) const
    {
        Action Aopt;

        Action A;
        int minCost = std::numeric_limits<int>::max();
        do
        {
            if (!S.isActionAllowed(A))
            {
                continue;
            }

            auto Snew = S.newState(A);
            int newCost = S.cost(A) + V.find(Snew)->second;

            if (newCost < minCost)
            {
                minCost = newCost;
                Aopt = A;
            }
        }
        while (A.increase());

        return Aopt;
    }

    BatteryCharger()
    {
        State S;
        do
        {
            int ad = 0;
            for (int i = 0; i < Ntest; ++i)
            {
                if (!S.Test[i])
                    ad += 100;
            }
            V[S] = ad;
        }
        while (S.increase());
    }

    std::map<State, int> V;
};

int main(int argc, char* argv[])
{
    BatteryCharger BC;

    int count = 0;
    while (BC.valueIteration())
    {
        ++count;
    };
    std::cout << "Value Iteration converged after " << count << " iterations\n"<<std::endl;

    //start at 6:00 with no tests at all performed
    State S;
    S.Test[0] = false;
    S.Test[1] = false;
    S.Test[2] = false;
    S.Test[3] = false;
    S.T = TimeOfDay::H6;

    //get sequence of optimal actions
    auto Aopt = BC.getOptimalAction(S);
    while (BC.V[S] != 0)
    {
        std::cout << S << "    " << Aopt << "   " << BC.V[S] << std::endl;

        S = S.newState(Aopt);
        Aopt = BC.getOptimalAction(S);
    }
    std::cout << S << "    " << Aopt << "   " << BC.V[S] << std::endl;

    return 0;
}

Here is a DEMO to play around.
Results
With the above code, one obtains the following results printed on the screen:
Value Iteration converged after 8 iterations

{(0,0,0,0),6:00 h,(P0,H0)(P0,H0)}    (RELAX,RECHARGE)   10
{(0,0,0,0),12:00 h,(P0,H6)(P50,H0)}    (RECHARGE,RECHARGE)   9
{(0,0,0,0),18:00 h,(P50,H0)(P100,H0)}    (RECHARGE,RELAX)   8
{(0,0,0,0),0:00 h,(P100,H0)(P100,H6)}    (RELAX,RELAX)   7
{(0,0,0,0),6:00 h,(P100,H6)(P100,H12)}    (MEASURE,RELAX)   6
{(0,0,1,0),12:00 h,(P50,H0)(P100,H18)}    (RELAX,RELAX)   5
{(0,0,1,0),18:00 h,(P50,H6)(P100,H24)}    (RELAX,MEASURE)   4
{(0,0,1,1),0:00 h,(P50,H12)(P50,H0)}    (RELAX,RELAX)   3
{(0,0,1,1),6:00 h,(P50,H18)(P50,H6)}    (RELAX,MEASURE)   2
{(1,0,1,1),12:00 h,(P50,H24)(P0,H0)}    (MEASURE,RELAX)   1
{(1,1,1,1),18:00 h,(P0,H0)(P0,H6)}    (RELAX,RELAX)   0

One sees that the value iteration converges after 8 iterations. On my PC and with Visual Studio in Release mode this takes roughly half a second. So you can safely make the problem more detailed and still expect a feasible exact answer.
In the lines below, you see an example of an optimized test process. Here, the initial state is {(0,0,0,0),6:00 h,(P0,H0)(P0,H0)}, i.e. the complete test is started at 6am with unused batteries (P0 here means 0%, 6:00 h means 6am or the german "6:00 Uhr"). The next column the gives you the optimized action {RELAX,RECHARGE} (which leads to the state in the next line). The number in the third column is the time (in units of 6 hours) which is still required to finish the tests. For this example case, a total of 60 hours are required.
There you are, the model problem is solved. In order to check different initial states (they have all been optimized!), just change the following lines in main:
//start at 6:00 with no tests at all performed
State S;
S.Test = {false,false,false,false};
S.T = TimeOfDay::H6;

And now, have fun! In the best case, you let us know how you proceeded and how successful it were.

A: Overview
Although you've explicitly tagged evolutionary-algorithm, I'd suggest you to have a look on a set of algorithms summarized under the name Approximate Dynamic Programming (ADP). In my opinion a good introductory book is the one of Warren B. Powell. It contains a lot of such ressource allocation problems, as well as several other practically relevant stuff which often goes under the name of Optimal Control (example: controlling a trucking company having several thousands of trucks).
One advantage ADP has over directly applying evolutionary-algorithms, simulated-annealing and so on is that it doesn't present a specific algorithm, but rather a framework for modeling time-dependent Markov decision problems. Within these framework, one is free to employ a variety of appropriate algorithms.
In order to apply ADP, one key is the correct mathematical modelling of the given problem. Of central importance is the state of the system, the actions one can take in a given state as well as the cost these actions require and which one wants to minimize -- your costs here are given by the duration of the test. Given one has constructed an appropriate model, the task is then to (approximately) solve the Bellman equation, for which several algorithms exist.
In the following, I'll give an example of how one can proceed here. This is naturally not a ready-to-use model, as such might take a rather long time to build -- actually I think this would be a fine problem for a masters or even a PhD thesis. However, I'll try to keep it exhaustive in a first step, such that one can introduce approximations later on.
Modelling the state of a single battery
First we are going to set up a rough model for a single battery. Here it is helpful that your problem is as deterministic as you described, i.e. that there are no stochastic components here (for example, that all durations are fixed and not randomly drawn from some statistical distribution).

*

*Single state: As you wrote, one battery is given by a state
S = {SoC, Relax}      where SoC   \in {UNKNOWN, 0%, 25%, 50%, 75%, 100%}
                      and   Relax \in {UNKNOWN, 0m, 5m, 15m, 30m, 1h, 2h, 6h, 24h}

I've added 0% and 0m for convenience, although they are maybe not really needed here.
Note that I've already made a large simplification here, as the State-of-Charge can also be 79%, for instance. The assumption which justifies this is the following: once you start your experiment for the first time (or also anew after a long time), all batteries are reasonably in the state {UNKNOWN,UNKNOWN}. Then, according to your description, the first one has to do is to do a full recharge, which sets all to the state {100%,0m} (and which costs 2,5h). From here, one only does qualified state changes -- discharging is done only to specific SoC's, and recharching only to 100% (this I assumed based on your description). Note that this becomes harder in a more natural stochastic framework, where for instance the batteries' SoC is not that well-behaved.

*Actions and costs: for specific single-battery states, one has associated a set of feasible actions (plus their corresponding costs). Let's collect them in the following:
State                  Possible Actions                       Cost
-------------------------------------------------------------------------------
{UNKNOWN, Relax}  ->   RECHARGE TO {100%,0m}                  2,5h

{SoC, 0m}         ->   RELAX TO {SoC,5m},                     5m

{SoC, Relax}      ->   RECHARGE TO {100%,0m},                 2,5h
                       DISCARGE TO {SoC-1},                   C(SoC, SoC-1)
                       DISCHARGE-MEASURE TO {SoC-1},          C(SoC, SoC-1)
                       RELAX TO {SoC, RELAX+1}                C(Relax, Relax+1)

{SoC, UNKNOWN}    ->   RECHARGE TO {100%,0m},                 2,5h
                       DISCARGE TO {SOC-1,0m},                C(SoC,SoC-1)
                       RELAX {SoC, 24h}                       24h

SoC-1 here stands for the next feasible state, whereas C(SoC, SoC-1) means "time to go from SoC to SoC-1, eg. from 75% to 50%. It's your turn here to check this table whether it meets your model. If not you have to correct or extend it.
Note that I've made again a simplification by allowing only transitions to the next feasible state SoC-1 (e.g., from 75% to 50%). This is reasonable as the cost is assumed as additional. For example, when you go from 75% to 25%, it takes the same time as when going first to 50% and then to 25%.
Further, all RECHARGE and DISCHARGE actions are feasible only in the office hours, which has not been accounted for in the above table (but which needs to be incorporated later in the model).
Combine the above to a model of the complete system
Now let us assume you have N batteries, M rechargers and K dischargers (where we can assume M<=N and K<=N), all of which are identical. Further, let's say the goal is to perform each test only once.

*

*Test state: The test state Test is a vector of dimension 4*7 of 0's and 1's containing the information whether a specific test has already been performed. Note that this corresponds to 2^28 possible states, so one definitely has to introduce an approximation here.

*Multi-Battery state: The combined state of all batteries B is the cartesian product of the single-battery state, i.e. it is in the space {SoC,Relax}^N. That means simply that one needs to consider N single-battery states.
B={SoC_1, Relax_1}, ..., {SoC_N, Relax_N}

Again, the size of this space is is going to be a very large number for moderate numbers N.

*Office time: Further, we need to incorporate the time of the day T. Doing it exactly, one ends up with a number of 24*60m / 5m = 288 possible five-minutes slots.

*Multi-Battery actions: Similarly, the multi-battery actions are given by an N-dimensional cartesian product of the one dimensional actions. RECHARGE and DISCHARGE is only feasible for T in the offcie hours and if enough Re- and Dischargers are available (the sum of all RECHARGE/ DISCHARGE must not exceed M/K).
Summarizing, the complete state S is given by the combination
S = {Test, T, B}

The dimension of the state space is about 2^28 * (6*9)^N * 288 which quickly becomes huge.
Further, for each state there is a corresponding set of allowed actions which should be clear by now.
So now that the model of the system has been specified more or less (correct it if needed!), we can go on by trying to solve it.
The Bellman equation
The Bellman equation is the central equation of (approximate) dynamic programming. For a nice introduction have a look at the book of Sutton and Barto which is freely available on the net.
It's idea is rather simple: for each possible state, introduce a value function V(S) which tells you how good it is to be in state S. This value function in principle contains the time needed to finish the tests once you are in state S. In order to determine this value for a finite-horizon problem as this is, one starts from the end state and recurses until the beginning -- that is, at least if the size of the problem allows it. But let's do this schematically in the following and see:
The final state is the one where Test contains only ones, i.e. all 28 tests have been performed. Set V(S)=0 for all these states (regardless of T and the multi-battery state), as you do not need any more time.
One step back: Now consider all states where Test has only 27 ones and one zero, i.e. one test still needs to be performed. For each possible multi-battery state B and time point T one can automatically spot the quickest alternative. Set V(S) equal to this cost.
Another step back: Next one considers all states where Test has only 26 ones and two zeros (two tests still to be made). Now, for each possible multi-battery state B and time point T one chooses the action a such as to minimize the cost of the action plus the value of the state to which the action leads. In terms, you have to choose a such as to minimize C(a) + V(S'), where a leads from S to S'. If you found this action, set the state equal to V(S) = C(a) + V(S').
And so on. One does this for all possible states and stores each optimal value V(S) obtained in this way -- for small number of batteries N, this might even be feasible in practice.
Once you're ready with this, you get the optimal action in each state. For this, if one is in state S, one follows the same recipe as above and always picks the action a which minimizes C(a) + V(S'). This can also be done only once when the best action for each state is stored.
And then you're done -- you completely solved your problem. Or say, at least theoretically, because in practice the problem size requires too much effort and storage to do the above backward recursion and store it in a table (for the problem as specified above, I'd say this regime begins when N~3 and larger). One therefore needs to introduce approximations.
Approximations
In using approximations, in general one sacrifices the "optimal solution" for a "good-working solution". As this can be done in several ways, this is where art begins. Or, to cite Powell, chapter 15.7.: "A successful ADP algorithm for an important problem class is, we believe, a
patentable invention". Due to this, I will only sketch some possible steps that can be done here.

*

*One class of approximation methods called aggregation uses a simplified model of the state variable. For instance, instead of including the time T in 5m chunks in the state variable (288 states), one can use 1h chunks or even a boolean value which indicates whether it's office time. Or you can use 5m chunks only during office time plus one state out-of-office-time. And so on ... lot's of possibilities. Here one always gains a smaller tabular representation of the

*Another class of approximation methods uses a parametrized representation of the value function, say a linear regression model or a neural network. In the iteration scheme above, the value functions are not stored in a table, but they are rather used as input to fit the parameters. This one replaces the often huge tabular representation by a much smaller number of parameters, but a drawback is that the fitting procedure is usually more sophisticated. (Note that in this step evolutionary algorithms can naturally be applied).

*In another method, one uses basis functions which capture important states of the system. For example, in a tic-tac-toe game, you do not need all possible game states, but basis states which indicate who occupies the center and the occupied number of edges are sufficient.

*Next, instead of trying to perform a full iteration over all states, one can use Monte-Carlo methods to randomly explore many but not all possible states. This is the more efficient the better heuristics exist, which let the algorithm explore meaningful states.
For other ideas as well as their practical application, consult the books mentioned above.

Ok, that became lengthy but I hope it helps to give you some idea of one possible approach. I would suggest you to design a small model using only one battery, say, and try to implement the above backward-iteration by yourself. Alternatively, in the both cited books you find several toy problems where you can get familiar with these kind of problems. Good luck with the batteries!

redpajama_set_name: RedPajamaStackExchange


text:
Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles
www.jewishfoundationla.org
Expenses: $114,088,256
Assets: $1,081,965,866
Non-profit corporation
Marvin Schotland
Madoff Investments
The Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles (JCF Los Angeles) is a grantmaking organization supporting nonprofit programs which support Jewish communities in California, across the United States, and around the world. While most of the foundation's grants are awarded to Jewish community organizations, the foundation has also awarded grants to a number of high-profile, left-of-center nonprofit groups. [1]
The Jewish Community Foundation of Los Angeles was founded in 1954 by Isaac Pacht, a judge. [2] At its inception, the foundation focused on providing resources to Jewish schools and programs in the Los Angeles area. [3] In the 1960s and 1970s the organization began providing free legal services to poor residents of Los Angeles and provided premarital and newlywed counseling for couples. [4] By the 1980s, JCF Los Angeles expanded its focus to include programs related to the HIV/AIDS epidemic, addiction recovery, and other social welfare programs. [5] Today, it continues to provide grants to a variety of Jewish schools and synagogues, in addition to supporting a number of social programs. [6]
The Jewish Community Foundation of Los Angeles has just over $1.08 billion in total assets. [7] In 2014, the foundation passed $1 billion in assets, and since 2017, JCF Los Angeles has provided more than $100 million in grants annually. In 2019, JCF Los Angeles reported $149,675,530 in revenue and $114,088,256 in expenses, an increase over 2018's $105,724,305 in revenue and $103,085,128 in expenses. [8] [9]
After the frauds perpetrated by disgraced financial advisor Bernard Madoff were revealed, the Jewish Community Foundation of Los Angeles declared that it had lost $23.9 million, "including $5.86 million of alleged earnings on investments that turned out to be fictitious," to Madoff's frauds. [10]
JCF Los Angeles president and CEO Marvin Schotland claimed that a volunteer committee, with assistance from the consulting firm Cambridge Associates, had advised the foundation to invest with Madoff. [11] However, Cambridge Associates stated that JCF Los Angeles began investing with Madoff months before it hired the firm and claimed that it had never recommended any investments by JCF Los Angeles in Madoff-controlled funds. [12]
Outside of grants disbursed to nonprofits which focus on the Jewish community, the Jewish Community Foundation of Los Angeles has made several grants to high-profile, left-of-center nonprofit organizations. [13] In recent years, JCF Los Angeles has funded members of the left-wing "Check the Sheriff Coalition." [14] The coalition has demanded that Los Angeles Sheriff Alex Villanueva (D) resign and asked the California Attorney General to investigate the Los Angeles Sheriff's Department. [15] JCF Los Angeles has funded the American Civil Liberties Union of Southern California, Bend The Arc, and Clergy and Laity United For Economic Justice, all of which participate in the coalition. [16]
In 2019, JCF Los Angeles funded left-of-center and left-wing environmentalist organizations. These included grants of $18,500 to the Center for Biological Diversity, $15,000 to the Citizens Climate Education Corporation, $10,400 to Earthjustice, $13,600 to the Environmental Defense Fund, $25,100 to Green America, $27,300 to Advancing the Interests of Animals, $100,000 to the Natural Resources Defense Council, and small contributions to the Rainforest Action Network and the Sierra Club Foundation. [17]
JCF Los Angeles also made substantial contributions to left-of-center legal organizations. These included grants to the ACLU Foundation of Southern California ($127,450), the ACLU Foundation ($9,500), the Lambda Legal Defense and Education Fund ($6,600), and the Southern Poverty Law Center ($28,080). [18]
Other left-of-center organizations which received funding from JCF Los Angeles in 2019 included the pro-Palestinian Americans for Peace Now ($37,050), the California Community Foundation ($87,700), Clergy and Laity United for Economic Justice ($5,250), the Feminist Majority Foundation ($10,300), Human Rights Watch ($32,000), the Los Angeles LGBT Center ($74,650), the Union of Concerned Scientists ($26,850), and the Voter Registration Project Education Fund ($7,500). [19]
Though nearly all JCF Los Angeles donations went to left-of-center organizations, the foundation contributed some funding to right-of-center organizations in 2019. These included a $10,000 grant to the American Enterprise Institute, a $12,100 grant to the David Horowitz Freedom Center, and $52,500 to the Prager University Foundation. [20]
Marvin Schotland is president and CEO at the Jewish Community Foundation of Los Angeles. [21] Schotland began his career at JCF Los Angeles as executive vice president in 1989 after previously working for four years as the executive director of the Jewish Community Foundation of Greater Metrowest. [22]
Prior to joining JCF Greater Metrowest, he was the executive director of the Jewish Community Foundation of Southern Arizona. Schotland holds a bachelor's degree and a law degree from the University of Cincinnati[23] and is currently on the board of directors at the University of Southern California's Center for Philanthropy and Public Policy. [24] Schotland has been named by Los Angeles Business Journal as one of the 21 most influential nonprofit leaders in Los Angeles. [25]
Form 990: Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles, 2019. ^
Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles website. "History." www.jewishfoundationla.org. Accessed August 18, 2021. https://www.jewishfoundationla.org/history. ^
Shimoni-Stoil, Rebecca. "Jewish Groups in New Database Admit Losses Of $150 Million To Madoff." The Times of Israel. October 29, 2013. Accessed August 22, 2021. https://www.timesofisrael.com/jewish-groups-in-new-database-admit-losses-of-150-million-to-madoff/. ^
Reckard, E. Scott, Abramowitz, Rachel, Eller, Claudia. "No Hollywood Ending in Madoff Investment Case." Los Angeles Times. December 17, 2008. Accessed August 22, 2021. https://www.latimes.com/archives/la-xpm-2008-dec-17-fi-hollywood-madoff17-story.html. ^
Check The Sheriff Coalition. Letter To Sheriff Alex Villanueva. July 29, 2020. Accessed August 23, 2021. https://static1.squarespace.com/static/608642aec0f6531f1411b0a8/t/608afe7e46956138f6ca45dc/1619721860680/AdiosVillanueva+Letter+final+sign-on.pdf. ^
Check The Sheriff Coalition website. "About." Accessed August 23, 2021. https://www.checkthesheriff.com/about; Form 990: Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles, 2019. ^
Jewish Community Foundation of the Jewish Federation Council of Greater Los Angeles website. www.jewishfoundationla.org. Accessed August 18, 2021. https://www.jewishfoundationla.org/person/marvin-schotland. ^
Marvin Schotland LinkedIn profile. www.linkedin.com. Accessed August 20, 2021. https://www.linkedin.com/in/marvin-schotland-163a3472/. ^
University of Southern California School of Public Policy's Center on Philanthropy and Public Policy website. www.cppp.usc.edu. Accessed August 23, 2021. https://cppp.usc.edu/about-us/#board-of-advisors. ^
Los Angeles Business Journal. "LA500: 2021." May 31, 2021. Accessed August 18, 2021. https://labusinessjournal.com/news/la500/2021/. ^
California Community Foundation (Non-profit)
Clergy and Laity United for Economic (CLUE) Justice (Non-profit)
Jewish Institute for National Security of America (JINSA) (Non-profit)
Success Academy Charter Schools (SA) (Non-profit)
Winnick Family Foundation (Non-profit)
2019 Dec Form 990 $149,675,530 $114,088,256 $1,081,965,866 $216,850,138 Y $97,090,638 $0 $16,791,728 $2,200,037 PDF
2018 Dec Form 990 $105,724,305 $103,085,128 $960,591,791 $192,956,803 Y $85,550,541 $0 $17,531,878 $2,101,808 PDF
2017 Dec Form 990 $143,749,974 $85,359,129 $1,007,006,468 $205,752,120 Y $110,949,957 $0 $10,485,881 $2,230,747 PDF
2016 Dec Form 990 $141,360,775 $68,493,551 $872,608,794 $146,637,576 Y $128,305,449 $0 $7,432,263 $2,134,438 PDF
2015 Dec Form 990 $86,695,035 $75,472,348 $785,493,411 $150,691,701 Y $76,388,410 $0 $6,228,659 $1,743,346 PDF
2014 Dec Form 990 $134,006,774 $62,987,930 $814,558,338 $155,014,287 Y $116,428,117 $0 $12,081,195 $1,614,682 PDF
6505 WILSHIRE BLVD STE 1200
http://www.jewishfoundationla.org

redpajama_set_name: RedPajamaCommonCrawl


text:
Vol 6 No 5: September 2019 /
A comparative study of Mawasangka and Wakatobi language in South East Sulawesi
Haerun Ana Haluoleo University, Kendari, South East Sulawesi
DOI: https://doi.org/10.21744/irjmis.v6n5.733
Keywords: correspondence, lexicostatistics, phoneme, qualitative, quantitative
This research aims at investigating the relationship between Mawasangka language (ML) and Wakatobi language (WL) in Southeast Sulawesi. This research was conducted based on qualitative and quantitative methods (mixed methods). The qualitative analysis shows that both languages have similar vowel and consonants sounds, and phonetic long vocoid sounds. Besides, both languages have unique bilabial implosive consonant /ɓ/, alveolar implosive /ɗ/, velar fricative /ĝ/; and clusters of /ns/, /nt/, /nd/, /mb/, /ŋk/, /ŋg/, and /mp/; and all syllables are opened or categorized as vocalist languages. Both languages also have perfected phoneme correspondences. In addition, the result of the quantitative approach using the lexicostastics technique shows that the relationship of ML-WL is 43,43%. Based on the percentage, ML and WL show closed relationship which is categorized as different languages from the same language family.
Bynon, T. (1979). The ergative construction in Kurdish. Bulletin of the School of Oriental and African Studies, 42(2), 211-224. https://doi.org/10.1017/S0041977X0014577X
Chaer, A. (2003). Seputar tata bahasa baku bahasa indonesia. Rineka Cipta.
Crowley, T. (1992). A dictionary of Paamese. Department of Linguistics, Research School of Pacific Studies, The Australian National University.
Crowley, T., & Bowern, C. (2010). An introduction to historical linguistics. Oxford University Press.
Dyen, I. (2018). Linguistic subgrouping and lexicostatistics (Vol. 175). Walter de Gruyter GmbH & Co KG.
Finegan, E., Besnir, N., Blair, D., & Collins, P. (1992). Language Its Structure and Use. Marricksville.
Hafsah, W. O. S. (2017). The character education meaning on rites before wedding party in Muna ethnic of Southeast Sulawesi. International Research Journal of Management, IT and Social Sciences, 4(1), 32-38.
Ino, L., Dinar, S. S., Yunus, -, & Harmin, -. (2017). Survival Wolio language in adulthood in Baubau City: Sociolinguistic study. International Journal of Linguistics, Literature and Culture, 3(6), 1-13.
Keraf, G. (1991). Linguistik Bandingan Historis, Jakarta: PT. Gramedia Pustaka Utama.
Kooij, J. G., & Dik, S. C. (1994). Ilmu Bahasa Umum, terj. TW Kamil. Jakarta: RUL.
Lehmann, W. P. (2013). Historical linguistics: an introduction. Routledge.
Mahsun, M. S. (1995). Dialektologi diakronis: sebuah pengantar. Gadjah Mada University Press.
Poedjosoedarmo, S. (2008). Perubahan Bahasa. In Disajikan dalam Seminar Ceramah Ilmiah Linguistik Pusat Kajian Melayu. Surakarta: Universitas Sebelas Maret.
Sudaryanto. (1993). Metode dan aneka teknik analisis bahasa: pengantar penelitian wahana kebudayaan secara linguistis. Duta Wacana University Press.
Taalami, L. O. (2008). Mengenal Kebudayaan Wakatobi. Jakarta: Granada.
Yani, L., Artawa, K., Satyawati, N. M. S., & Udayana, I. N. (2018). Transitivity construction of verbal clause in Ciacia language. International Journal of Linguistics, Literature and Culture, 4(3), 15-23.
Ana, H. (2019). A comparative study of Mawasangka and Wakatobi language in South East Sulawesi. International Research Journal of Management, IT and Social Sciences, 6(5), 226-233. https://doi.org/10.21744/irjmis.v6n5.733
Vol 6 No 5: September 2019
Articles published in the International Research Journal of Management, IT and Social sciences (IRJMIS) are available under Creative Commons Attribution Non-Commercial No Derivatives Licence (CC BY-NC-ND 4.0). Authors retain copyright in their work and grant IRJMIS right of first publication under CC BY-NC-ND 4.0. Users have the right to read, download, copy, distribute, print, search, or link to the full texts of articles in this journal, and to use them for any other lawful purpose.
Articles published in IRJMIS can be copied, communicated and shared in their published form for non-commercial purposes provided full attribution is given to the author and the journal. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal.
This copyright notice applies to articles published in IRJMIS volumes 7 onwards. Please read about the copyright notices for previous volumes under Journal History.
Statement on Ethics
Statement on Open Access
Scope of IRJMIS
Copyright © 2020 International Research Journal of Management, IT and Social sciences


PLASTIC CARD CASE in White.
JUNEAU RFID PROTECTION CARD CASE.
PLASTIC CARD HOLDER in Black.
PLASTIC CARD HOLDER in Cobalt Blue.
PLASTIC CARD HOLDER in Light Green.
PLASTIC CARD HOLDER in Red.
PLASTIC CARD HOLDER in White.
RFID CREDIT CARD PROTECTOR in Black Solid.
RFID CREDIT CARD PROTECTOR in Lime.
RFID CREDIT CARD PROTECTOR in Red.
RFID CREDIT CARD PROTECTOR in Royal Blue.
RFID CREDIT CARD PROTECTOR in White Solid.
SILICON CARD HOLDER with Stand.
SLIM SILICON CARD WALLET in Black Solid.
SLIM SILICON CARD WALLET in Lime.
SLIM SILICON CARD WALLET in Orange.
SLIM SILICON CARD WALLET in Red.
SLIM SILICON CARD WALLET in Royal Blue.
SLIM SILICON CARD WALLET in White Solid.
SMALL REAL METAL FRIDGE MAGNET.
MEDIUM REAL METAL FRIDGE MAGNET.
MONASTIR RFID PROTECTION CARD CASE.
SILICON RFID CARD HOLDER with Lanyard in Black Solid.
SILICON RFID CARD HOLDER with Lanyard in Lime.
SILICON RFID CARD HOLDER with Lanyard in Orange.
SILICON RFID CARD HOLDER with Lanyard in Red.
SILICON RFID CARD HOLDER with Lanyard in Royal Blue.
PEN & KEYRING SET SILVER CHROME PLATED in Hinged Blue Presentation Box.
SAKUMONO RFID PROTECTION CARD CASE.
SHIELD RFID CARDHOLDER in Black.
SHIELD RFID CARDHOLDER in Royal Blue.
SHIELD RFID CARDHOLDER in White.
KENITRA RFID PROTECTION CARD CASE.
PILOT RFID CARD SLIDER BLACK in Black Solid.
PILOT RFID CARDSLIDER SILVER in Silver.
POLYESTER RFID ANTI SKIMMING CREDIT CARD HOLDER.
PEN & POCKET WATCH STYLE KEYRING & PEN SET in Silver.
CERRUTI 1881 PEN & KEYRING SET.


Inspired by Japanese gameshows like Banzai! & Takeshi's Castle the entertainment engineers at Big Boys Club and Secret Women's Business have developed Kanpai Trivia Wednesdays!
This is one wild Melbourne Trivia Night!
There are 2 components to Kanpai Trivia! The trivia part is simple enough – we'll be testing your knowledge of music, film, TV, food and pop culture but you'll also need brave team members with an open mind for unorthodox audience participation, physical challenges, group games and surprise shenanigans.
Entry is free… to this Melbourne Trivia Night!
Registration is advised and trivia amazing prizes await your team…Are you ready for something new & exciting?


text:
'When it came to recreating visions of Robben Island, I needed to share this rich experience of culture which to me has a very special meaning. When I initially did the sketches in black chalk the images looked quite bleak. I then thought that it should be a celebration and introduced the bright and cheery colours which I understand have become a new art form and I hope that it will give you as much pleasure as I have had in creating these images." Nelson Mandela, February 2003, Artwork launch on Robben Island Belgravia Gallery is deeply honoured to be associated with the launch and sale of Original Signed Lithographs by Nelson Mandela. The work themselves are amazing - fresh, bright, well drawn, iconic symbols of the struggle in South Africa and the triumph over the tyranny of the apartheid years. They are also unique, historic and extraordinary. It is always fascinating to see art drawn by someone known in a different context. Winston Churchill was, like Mandela, a significant writer: he also became a noted painter.... In May 2002, Nelson Mandela began a series of sketches with the subject Robben Island. In the company of a skilled photographer, Grant Warren, he revisited the island, scene of some of his most painful years with its cruel repressive regime. Images of his cell, Table Mountain from the beach, the lighthouse, church, quarry, guard towers and many other scenes were photographed. At his home, under the watchful eye of his art teacher Varenka Paschke, a young South African artist, he quickly adapted from being a world leader to a budding artist. Varenka told me she guided her student providing assistance with the basic composition of the sketches and method of the colour applications. Nelson Mandela completed over 20 sketches that include images he found meaningful, both symbolically and emotionally, during the period of his incarceration on the island. The works were completed in a series of colour separations, first the strong black crayon lines providing the guide, then he selected colourful shades for each image. It is interesting to note that he completed no final original piece, only a series of separations which, when overlaid, create the final picture. The five editions were signed individually by Mr Mandela - each of the pieces with a generous and carefully drawn signature. His artist's motivations written in his characteristic neat handwriting, offer an insight into the thoughts behind the colour images he created. Possibly the most interesting- certainly the one which caused the most media attention was 'The Window'- not because it has a view of Table Mountain- inaccurately described in one newspaper as the view from Mandela's cell, but because it is so imaginative, with brilliant colour and composition. The eye is drawn to the screws around the metal window frame: how often he must have contemplated them. Asking him about the strong orange and maroon colours in 'The Window', he told us "That window, you know, was actually a window to the world, because I could see quite a lot. I could see my mental horizons expand".
Mandela's Walk
The Guard Tower
Hand of Africa
Artists Motivation
Nelson Mandela – The Collection Catalogue


text:
Galfredus de Vino Salvo (auch Galfridus, Gaufredus, Gaufridus, Godefridus, Ganfredus; Zuname de Vinosalvo, Vinesauf, Anglicus; anglonormannisch Geoffroi de Vinsauf, englisch Geoffrey of Vinsauf) war ein englischer Rhetoriker des ausgehenden 12. Jahrhunderts, dessen Poetria nova zu den einflussreichsten Dichtungslehren des Mittelalters gehörte.

Leben
Über das Leben Galfreds ist wenig bekannt. Wahrscheinlich stammte er aus England, wie es der in den Handschriften häufig begegnende Zuname "Anglicus" nahelegen kann, möglicherweise auch aus der Normandie: die Bedeutung des Zunamens "de Vino Salvo" bzw. "Vin(e)sauf" ist unklar geblieben.

Wie sich aus dem Gedicht Causa magistri Gaufredi Vinesauf ergibt, war er als Student oder Lehrer zeitweise in Paris und lehrte dann in "Hamton" (Hamtone legi), wahrscheinlich Northampton, wo er in Konflikt mit einem ebenfalls dort angestellten Pariser Studiengenossen namens Robert geriet und wegen eines tätlichen Angriffs von einem Bischof namens Adam, möglicherweise Bischof Adam von St. Asaph in Denbighshire († 1181), zu einer Strafe verurteilt wurde.

Falls Galfred auch die von einem Gaufredus zwischen 1188 und 1190 als Gast (hospes) in Bologna verfasste Summa de arte dictandi zuzuschreiben ist, war er auch dort vorübergehend tätig.

Ansonsten ergibt sich noch aus dem Widmungsprolog der Poetria nova (Verse 31ff.), dass er nach Rom reiste, um dem von ihm für seine Jugend gerühmten Papst Innozenz III., der sich demnach noch am Anfang seines Pontifikats (1198–1216) befand, sein Werk zu überreichen.

Werk

Poetria nova
Galfreds Hauptwerk ist die Poetria nova, die in mehr als 2000 lateinischen Hexametern eine Anleitung zum Erstellen von Gedichten gibt. Geoffrey betont darin, dass derjenige, der eine Dichtung verfassen wolle, ähnlich dem Erbauer eines Hauses zunächst im Geist einen Plan haben müsse. Er unterteilt die verschiedenen Anordnungen des Stoffes in eine natürliche und acht mögliche künstliche Ordnungen, wobei die natürliche Ordnung der Chronologie des Stoffes folge. Gestützt auf antike Rhetoriker wie den Auctor ad Herennium, beschreibt er die Mittel der Erweiterung (amplificatio) und der Kürzung (abbreviatio) des Stoffes. Bei der Behandlung der rhetorischen Schmuckmittel unterscheidet er die auf Bedeutungsübertragung beruhenden Tropen als ornatus difficilis vom ornatus facilis der vorwiegend auf der Stellung beruhenden Figuren. Hieran schließt er noch grammatikalische Ausführungen an.

Nach Bernardus Silvestris und Matthäus von Vendôme war Geoffroy der dritte mittelalterliche Autor, der eine ausführliche Poetik (ars poetria) verfasste, wobei diejenige des Bernardus nicht mehr sicher zu identifizieren ist.

Der Ehrentitel Poetria nova, den sein Entwurf einer ars poetria in der Überlieferung erhalten hat (als Poetria vetus galt die Ars poetica des Horaz), zeigt die Wertschätzung, die das Mittelalter Geoffrey entgegengebracht hat. Über 200 Handschriften, meist aus der Zeit des 13. bis 15. Jahrhunderts und in vielen Fällen mit Glossen oder ausführlichen Kommentaren versehen, sind erhalten und dokumentieren, wie das Werk bis in die Anfangszeit der Renaissance den Unterricht der Rhetorik an Schulen und Universitäten geprägt hat.

Documentum / Tria sunt
Als Documentum de modo et arte dictandi et versificandi bezeichnet man herkömmlich zwei Prosafassungen des Stoffs der Poetria nova, von denen nach dem Ergebnis der neueren Untersuchungen Camargos nur die kürzere, das eigentliche Documentum, von Galfred stammt und bereits vor der Poetria nova entstand, während die noch ungedruckte längere, die nach dem Incipit beider Fassungen als Tria sunt bezeichnet wird, eine fremde Bearbeitung wahrscheinlich vom Ende des 13. Jahrhunderts ist und in fünf der bekannten elf Handschriften in einer in Oxford entstandenen Revision des 15. Jahrhunderts vorliegt.

Summa de coloribus rhetoricis
Die vorwiegend auf Marbod von Rennes, De ornamentis verborum, beruhende und deshalb wahrscheinlich noch vor dem Documentum und der Poetria nova entstandene Summa magistri Vinesauf de coloribus rhetoricis behandelt 20 Redefiguren des leichten Stils. In der gleichen Reihenfolge erscheinen diese Figuren auch in praktischer Anwendung in einem anonymen Gedicht auf Niobe (Quam stultum, quam vesanum, quam sit sceleratum), das in der gleichen Handschrift (Glasgow, University Library, Hunter V.8.14, olim 511) überliefert ist, ersichtlich auf der Summa beruht und möglicherweise ebenfalls von Galfred stammt.

Summa de arte dictandi
Die in vier Handschriften vollständig und in einer weiteren auszugsweise erhaltene Summa de arte dictandi behandelt im Unterschied zu Galfreds späteren Schriften noch ausschließlich die das kunstgerechte Schreiben in Prosa (dictamen in der Bedeutung gemäß der einleitenden Definition begrenzt auf die "orationum series … nullis nullis metrorum legibus obligata"), unter Ausgrenzung der ars versificatoria und beschränkt auf die Gattung des Briefes. Sie umfasst vier Bücher in Prosa, jedes mit einem Versprolog eingeleitet und das Ganze abgeschlossen durch einen versifizierten Epilog, eine Schlussansprache an den Leser. Buch I definiert das Thema, nennt die vier Aufbauteile (partes) eines kunstgerechten Briefes (salutatio, exordium, narratio, conclusio), an deren Reihenfolge der Aufbau der Summa sich orientiert, und exemplifiziert im Anschluss an eine Einteilung der möglichen Empfänger von Briefen die jeweils geeignete Salutatio (Grußanrede) für insgesamt fünfzehn Typen solcher Empfänger. Buch II behandelt das Exordium als Vorstück der Narratio und die Bedeutung von Proverbien für dessen Gestaltung, Buch III dann die Narratio und Buch IV die Conclusio und zuletzt einen Katalog typischer Fehler bei der Gestaltung von Prosa und Brief.

Die lehrhaften Aussagen sind knapp gehalten, aber reich durch Beispiele illustriert, die anhand zeitgeschichtlicher Themenbezüge eine Datierung in die Zeit von 1288 bis 1290 ermöglicht haben und in einigen Fällen auch auf die Person und Situation des Verfassers zu beziehen sind. Der Verfasser nennt sich ("Gaufredus") und den Entstehungsort ("Bononia") im Epilog, so dass ihm unter den zitierten Briefstellen auch ein Brief eines gastweise in Bologna befindlichen Gaufredus an einen Bruder Martinus (IV.2) und ein weiteres Beispiel mit Bezug auf die durch ungünstiges Schicksal geforderte thematische Beschränkung des Werks (III.18) zuzuordnen sind. Faral, der die Summa nur in Bruchstücken kannte, hielt die Gleichsetzung des Bologneser Gaufredus mit Galfred von Vinsauf für unsicher, die seither jedoch von Licitra, Worstbrock und Camargo plausibel gemacht werden konnte.

Ausgaben
 Martin Camargo: Toward a Comprehensive Art of Written Discourse: Geoffrey of Vinsauf and the Ars Dictaminis, in: Rhetorica 6,2 (1988), S. 167–194, Appendix 1: Auszug über den Briefstil (ars dictandi) aus der langen Fassung des Des documentum de modo et arte dictandi et versificandi (S. 86–192), Appendix 2.B: Inhaltsverzeichnis der langen Fassung (S. 193)
 Edmond Faral: Les arts poétiques du XIIe et du XIIIe siècle. Recherches et documents sur la technique littéraire du moyen age. Champion, Paris 1924 (= Bibliothèque de l'École des Hautes Études, Sciences historiques et philologiques, Fasc. 238), S. 194–262 (Poetria nova), S. 263–320 (Documentum de modo et arte dictandi et versificandi, kürzere Fassung), S. 321–327 (Summa de coloribus rhetoricis, unvollst.)
 Edmond Faral: Le manuscrit 511 du «Hunterian Museum» de Glasgow: Notes sur le mouvement poétique et l'histoire des études littéraires en France et en Angleterre entre les années 1150 et 1225. In: Studi medievali, nuova serie, 9 (1936), S. 18–121, mit Abdruck des Gedichts Causa magistri Gaufredi Vinesauf (S. 56f., Nr. 36) und weiterer wahrscheinlich von Galfred oder aus dessen Umkreis stammender Stücke
 Ernest Gallo: The Poetria nova and its sources in early rhetorical doctrine. Mouton, Den Haag [u. a.] 1971 (= De proprietatibus litterarum, Series maior, 10), mit lateinischem Text und engl. Übersetzung
 Jane Baltzell Kopp, Geoffrey of Vinsauf, The New Poetics. In: James J. Murphy (Hrsg.), Three Medieval Rhetorical Arts. University of California Press, Berkeley / Los Angeles 1971, ISBN 0-520-01820-6, S. 27–113, engl. Übersetzung
Vincenzo Licitra: La Summa de arte dictandi di Maestro Goffredo, in: Studi medievali, serie IIIa, 7 (1966), S. 865–913.
 Margaret F. Nims: Geoffrey of Vinsauf, Poetria nova. Pontifical Institute of Mediaeval Studies, Toronto 2010 (= Medieval Sources in Translation, 49), ISBN 978-0-88844-299-4, engl. Übersetzung
Roger P. Parr: Geoffrey of Vinsauf, Documentum de modo arte dictandi et versificandi (Introduction in the Method and Art of Speaking and Versifying). Translated from the Latin with an Introduction, Marquette University Press, Milwaukee (Wisconsin) 1968 (= Medieval Philosophical Texts in Translation, 17)

Literatur
 Reinhard Düchting: G[alfridus] de Vino Salvo. In: Lexikon des Mittelalters. Bd. 4, Sp. 1085.
 Ernest Gallo: The Grammarian's Rhetoric: The "Poetria nova" of Geoffrey of Vinsauf. In: James J. Murphy (Hrsg.), Medieval Eloquence: Studies in the Theory and Practice of Medieval Rhetoric, University of California Press, Berkeley and Los Angeles 1978, S. 68–84.
 James J. Murphy: Rhetoric in the Middle Ages: A History of Rhetorical Theory from Saint Augustine to the Renaissance. University of California Press, Berkeley and Los Angeles 1974, ISBN 0-520-02439-7
 Marjorie C. Woods: An early commentary on the Poetria nova of Geoffrey of Vinsauf, Garland, New York [u. a.] 1985 (= Garland Medieval Texts, 12), ISBN 0-8240-9435-2
 Marjorie Curry Woods: Classroom Commentaries: Teaching the 'Poetria nova' across Medieval and Renaissance Europe, Ohio State University Press, Columbus 2010, ISBN 978-0-8142-1109-0 (Digitalisat open access über Project MUSE)

Anmerkungen

Weblinks
 Veröffentlichungen zu Galfredus de Vino Salvo im Opac der Regesta Imperii
 Marjorie C. Woods: Transformation and Continuity in the Teaching of Rhetoric in Late Medieval Universities: The Case of the "Poetria nova". (PDF; 34 kB)

Autor
Literatur (12. Jahrhundert)
Literatur (13. Jahrhundert)
Literatur (Mittellatein)
Sachliteratur
Engländer
Geboren im 12. Jahrhundert
Gestorben im 13. Jahrhundert
Mann

redpajama_set_name: RedPajamaWikipedia


text:
package net.snowflake.client.core;

import java.io.Serializable;

/**
 * Class that creates constructor used for storing information about a binding parameter's metadata.
 * Each instantiation of a MetaDataOfBinds object corresponds to one binding parameter; an arraylist
 * of MetaDataOfBinds corresponds to a list of binding parameters in a prepared statement.
 */
public class MetaDataOfBinds implements Serializable {
  private static final long serialVersionUID = 1L;

  private int precision;

  private boolean nullable;

  private int scale;

  private int byteLength;

  private int length;

  private String name;

  private String type;

  public MetaDataOfBinds(int prec, boolean n, int sc, int bL, int len, String name, String type) {
    this.precision = prec;
    this.nullable = n;
    this.scale = sc;
    this.byteLength = bL;
    this.length = len;
    this.name = name;
    this.type = type;
  }

  public int getPrecision() {
    return this.precision;
  }

  public boolean isNullable() {
    return this.nullable;
  }

  public int getScale() {
    return this.scale;
  }

  public int getByteLength() {
    return this.byteLength;
  }

  public int getLength() {
    return this.length;
  }

  public String getName() {
    return this.name;
  }

  public String getTypeName() {
    return this.type;
  }
}

redpajama_set_name: RedPajamaGithub


The sum needs to be determined by the total risk assumed by the portfolio. It's only slightly more challenging to specify the probability of at most one head. Probability can be expressed in several ways. In different cases it's possible to predict the probabilities of encountering given events in a specific trial theoretically.
Probability theory is a significant branch of mathematics that finds countless applications in a range of sciences, but it's not potent enough to support the sweeping conclusions creationists want to draw. Thus, it may be formally regarded as a part of measure theory. You can also spend the Probability theory I exam then. Contemporary probability theory gives a formal version of this intuitive notion, called the law of large numbers. These solutions double as what we know nowadays as the fundamental essentials of probability theory. A main part of the theory is based just on the assumption of stationarity in a full sense, viz. In quite a few cases it will become required to invoke the theory of functions of an intricate variable.
If you don't pass the exam, you might take it again. You may choose the exam as many times as you desire, even when you passed it. The test will definitely detect this 1 person. Likewise, it's also quite crucial in medical tests. Now there are sophisticated tests which can be performed on a sequence of numbers to discover whether or not the sequence is genuinely random, or if it's been determined by formula, human being, or several other ways. In case the repeated measurements on various subjects or at various times on precisely the same subject may lead to unique outcomes, probability theory is a potential tool to study this variability. If a greater accuracy of approximation is needed, moments of higher order also has to be used.
The set of all probable outcomes of an experiment is known as a sample space. There are two kinds of random variables.1. Unfortunately, creating artificial probability distributions isn't the true issue.
The expression independent refers to any event whose outcome isn't affected by the outcome of some other function. These examples are utilized to motivate the demand for fundamental probabilistic outcomes. The two of these numbers can be calculated, but doing so requires a degree of mathematical sophistication I don't want to explore within this essay. A frequentist approach is to observe lots of particular events from a complete number of events. The numbers on either side of the die are the feasible outcomes. There are a lot of organizations which provide LE reports. There are a lot of operations that you can perform over any probability distribution to find interesting outcomes.
An instance of the use of Bayes' theorem is provided below. Improbable things occur all the time, you see, and the simple fact that something is improbable doesn't mean it cannot happen. To mathematically understand these systems requires using powerful probabilistic suggestions and techniques. The question is the way to explain the problem humans have with this sort of reasoning. The issue with probabilistic induction is that it's a case of premature optimization'. If you got simple and not as complex troubles, don't hesitate to use the acceptable tools. Everyone who's interested in the problems or applications of statistics ought to have a severe appearance.
These comments may be produced on the scheme described above. This informative article will present an introduction to such concepts. It explores what can give you the winning advantage. It uses information theory to explain how to cut down the number of tests significantly, by pooling samples of blood. It discusses one particularly interesting aspect of the game the doubling cube. It takes us through some of the mathematics involved, introducing us to some of the colourful characters who led the way.
If you weren't able to stick to the course `Basisconcepten Wiskunde' or Sets and Combinatorics, e.g. since you're a part-time student, it is a good idea to study the very first chapter of Ross before the beginning of the training course. The next time you visit the mall, decide on an area to wait that permits you to observe a total of at least twenty cars facing you on both sides. It might take a lot of work an effort, but it's well worth it. To begin with, the simple fact that evolution operates by modifying preexisting structure usually means that certain gene sequences are a lot more likely to occur than others. That is why Markov processes are occasionally known as processes without after-effect. It reflects the procedure of earning a clinical judgement. Techniques from differential geometry could be applied in a theory referred to as information geometry.


Give us brief background information about you. Who is Dr. AC Anuforom? Where did you serve, in what capacity and for how long sir? What were the legacies you left behind where you served?
I think the most relevant background information about me in this context is that I am the immediate past Director General/CEO of the Nigerian Meteorological Agency (NiMet). I held this position for 10 years (2007 to 2017) two terms of five years each, from 2007 to 2017. I was also the Permanent Representative of Nigeria with the World Meteorological Organization (WMO). I was elected into the Executive Council of WMO and served on the Council for 8 years. At the sub-regional level, I was a member of the Governing Board of the African Centre for Meteorological Applications for Development (ACMAD) in Niamey.
Regarding the legacies I left behind, time and space will not permit me to chronicle the details. It is a lengthy catalogue! Suffice it however to say that upon my appointment as DG, I set out to elevate NiMet to a parastatal whose operations and services meet international standards. Despite the very lean financial resources, I pursued this goal vigorously by embarking on extensive development of operational infrastructure, equipment and human resources. Throughout my tenures in office, I was lucky to have very supportive bosses (ministers and permanent secretaries) at different times, as well as competent and motivated staff who shared my vision and passion for the Agency. The combination of these factors, coupled with my personal determination and the grace of God, made it possible for me to achieve the goal of elevating NiMet to international standard.
The certification and re-certification of NiMet's aeronautical meteorological services by the International Organization for Standardization is an eloquent testimony to this fact. The tremendous improvement in infrastructure, equipment and human capital achieved in NiMet during my tenure translated to more accurate and timely weather forecasts and climate predictions which Nigerians still attest to. NiMet's Seasonal Rainfall Prediction (SRP) is now very popular among operators in various sectors of the economy. The accuracy of the SRP had exceeded 80%, and we commenced downscaling to state/local government level.
During my tenure, NiMet's operational and service delivery capacity had developed to the extent that the Agency could provide weather forecasts to Liberia and Sierra Leon. Our instrument calibration laboratory also provided services to Ghana Meteorological Agency.
Can you tell us what you have been doing since you disengaged and what you plan to be doing in the future?
Well, naturally I have tried to slow down to take some rest after a hectic working life. My children tell me to slow down, but I must confess that it is not easy slowing down when by the grace of God; one is still physically and mentally strong. While slowing down, I also try not to slide into idleness. Don't forget that I studied physics and for the last fifteen years I applied my knowledge of the subject in my job in NiMet; first as the Director of Applied Meteorological Services for approximately five years and later as the Director General/CEO for 10 years. I needed to refresh my knowledge in those aspects of my studies that I never got to use in my job.
I have been reading research publications and other materials. I have also been participating in some conferences. In the past one year, I have presented papers at two national scientific conferences, namely: 'Effect of solar activity on frequency of thunderstorms and squalls in Nigeria' presented at the 7th National Conference of the Astronomical Society of Nigeria held at Enugu in November 2017 and 'The Role of Renewable Energy in Achieving the Greenhouse Gas Emission Reduction Target in Nigeria's Nationally Determined Contribution to Paris Climate Change Agreement', which I presented at the 8th Annual Conference of the renewable & Alternative Energy Society of Nigeria in April this year. This was held in Port Harcourt. I also attended the meetings of the Nigerian Academy of Science. I delivered the 2013 Annual Lecture of the Academy and they extend invitations to their annual events since then. A very good friend of mine, Professor Chidi Akujor, a Professor of astronomy at Federal University of Technology, Owerri (FUTO) has been encouraging me in these academic activities. In fact, we are working together with the professor on some papers which we hope to jointly publish very soon. I have really enjoyed these academic activities. Looking forward, I will continue these academic activities and also engage in private sector and NGO activities to promote climate smart agriculture in Nigeria, especially among rural farmers. I also plan to get involved in bridging the gap between Climate Information providers and end users. This will be from private sector and NGO perspective and in collaboration with relevant agencies.
The environment has witnessed many changes in the past few years and despite these changes, public awareness about environmental degradation has been too low in the country. What is your advice to government to raise public awareness on environmental issues? Are Nigerians really protecting their environment sufficiently?
Changes in the environment are continuous and inevitable because some are natural while others are human-induced. For instance, construction of houses, roads, bridges, dams and other physical infrastructure which are necessary for economic activities, inevitably result in human induced changes in the environment. These developmental activities will not normally constitute much challenge if they are carried out in compliance with regulations stipulated by the appropriate Authorities.
However, unplanned and unregulated changes to the environment constitute hazards to human health and safety; and jeopardize the needs of future generations. That is why the United Nations is advocating for sustainable development.
Soil erosion, desertification, deforestation, coastal erosion, air, water and oil pollution, indiscriminate refuse dumping, improper disposal of industrial wastes, etc are all forms of environmental degradation being experienced in Nigeria. They are not hidden. Everyone sees them all around us; and so, I don't think that Nigerians are not aware of the degradation to the environment. What is lacking among the Nigerian public is the awareness of their role in preventing environmental degradation. There is need to create awareness about those things we do that harm the environment. Nigerians need to be educated on their roles and responsibilities in conserving the environment. Government should implement the National Policy on the Environment, which includes Environmental Education and Awareness Creation. Awareness creation can be achieved speedily through closer collaboration between government and NGOs. It is also important for government to strengthen the relevant Agencies, such as NESREA, NOSDRA, etc, to enforce environmental protection regulations.
Climate change has drastically altered rainfall patterns especially in Nigeria to the point that some experts have predicted that serious food shortages might set in next year, over-grazing and herdsmen attacks throughout the country. Do you agree with this view and what should be done to prevent or avert food scarcity in Nigeria next year?
Yes. Climate change is real; it is a global challenge and Nigeria is not immune to its impacts. It has indeed not only altered the rainfall pattern, but also impacted negatively on the ecosystem in many parts of Nigeria. On my assumption of office as the DG/CEO of the Nigerian Meteorological Agency (NiMet) in 2007, we stepped up the accuracy and timeliness of the Seasonal Rainfall Prediction (SRP). We also introduce the Annual and Quarterly Climate Review Bulletins. Based on the analyses of long-term rainfall data from our weather observatories across the country, we established the fact that rainfall characteristics over most parts of Nigeria have changed. I made this fact public since 2008 and continually reiterated it in subsequent years in most of my public discussions; especially during our annual SRP presentation. Other independent researchers in the universities and research institutes have also arrived at the same conclusion. So, it is correct to say that the pattern of rainfall in Nigeria has changed.
For this year 2018, NiMet predicted a normal length of rainy season with normal rainfall amounts, and that this should not present any major threat to agriculture. But there are other factors which affect food production and availability. So, if there are predictions of food shortage by other experts outside NiMet, these may be attributed to some other factors than rainfall. We should also not lose sight of the fact that the population of the country is increasing and this means that demand for food is also increasing. At the same time climate change and environmental degradation are reducing the available land for cultivation as well as agricultural yield.
It noteworthy that between 1960 when Nigeria became independent and the present, the country's population density has quadrupled from about 50 persons per square kilometre to over 200 persons per square kilometre. By 2030 the population density would have increased to 284 persons per square kilometre. The increasing pressure and exploitation of land, forest and water resources contribute to loss of soil fertility and declining agricultural productivity.
One could say that although rainfall is a critical factor and sine qua non for good agricultural yield, other factors could still lead to food shortages. If nothing is done, this situation will get worse in future as the population and demand for food continue to increase. The UN projects that by 2050 Nigeria will be the 6th most populous country in the world.
Traditional and conventional methods of agriculture are therefore no longer sustainable. They must be replaced by a more scientific approach that guarantees increased and sustainable productivity. I advocate the application of Climate Smart Agriculture (CSA) as a means of tackling this challenge.
Many communities have been displaced from their ancestral homes by migrating armed herdsmen to the point that farming has reduced, and the government has been helpless toward the emerging situation? Do you think that this phenomenon can contribute to food security or food scarcity when large parts of the country in the northeast, north central and even the northwest are in a state of uncertainty and hostile attacks?
The impact of the insurgency in the Northeast of Nigeria and the widespread activities of marauding herdsmen in parts of the country where farming is the predominant occupation should not be underestimated. Millions of farmers, who have been displaced from their homes and farmlands, are no longer able to contribute to food production.
What do you suggest to Nigeria and by extension other West African states to do to reclaim the receding Lake Chad which has largely been taken over by desert encroachment? Do you think that the stakeholders have so far shown sufficient political will to carry out the reclamation process?
The shrinking and drying of Lake Chad is a huge environmental challenge, with far-reaching socio-economic, political and security implications for Nigeria and the other countries bordering the Lake Basin. These challenges are already well known. For ages Lake Chad has been supporting economic activities and means of livelihood for over 40 million people in the area which includes Nigeria, Chad, Niger and Cameroon.
Fishing, farming (crop production) livestock production and crafts are the main occupations which have been contributing to food security, employment, poverty reduction, and hence social stability, in the countries bordering the Lake. With the shrinking of the Lake, coupled with population growth, all these socio-economic benefits have been jeopardized.


text:
Providers Home > Blog > Illness & Disease >
The Flu View: What to Expect in 2018-19
The 2017-2018 flu season proved to be unusually virulent, spurring Dr. Dan Jernigan, director of CDC's influenza division, to remark in a statement to the media in January, "flu is everywhere in the U.S. right now." It resulted in a record number of hospital admissions and, sadly, the highest number of report pediatric deaths since the 2014-15 season.
CDC summed up the season this way:
"The 2017-2018 influenza season was a high severity season with high levels of outpatient clinic and emergency department visits for influenza-like illness (ILI), high influenza-related hospitalization rates, and elevated and geographically widespread influenza activity for an extended period."
Even though viral infection this past season was abnormally high, it's too soon to predict whether the 2018-2019 flu season will follow suit.
Typically, the U.S. experiences annual epidemics of seasonal flu. Most of the time, flu activity peaks between December and February but can last as late as May. It's also hard to know whether new strains will circulate as flu viruses change constantly.
"It's this mutation and variability in the different flu strains which makes it so challenging to predict which vaccines to develop each year," explained SCP Chief Medical Officer, Dr. Stephen Nichols. "As a result, it's simply not easy to have a specific expectation of what kind of activity we'll see in this season."
Current Flu Season Activity
Every year, CDC monitors certain key flu indicators and provides weekly updates in its "FluView Influenza Surveillance" report.
The latest report — ending the week of November 24 – shows that influenza activity has increased slightly, partly due to a reduction in routine healthcare visits during the Thanksgiving holidays.
Twenty-one states reported regional or local flu activity, while 28 states, the District of Columbia, Puerto Rico, and the U.S. Virgin Islands continue to report only sporadic activity.
Influenza A and B viruses continue to circulate, with influenza A(H1N1)pdm09 viruses reported most commonly by public health laboratories since the end of September.
A few things are new this season regarding vaccines:
Flu vaccines have been updated to better match circulating viruses;
The nasal spray flu vaccine is again a recommended option for influenza vaccination of persons for whom it is otherwise appropriate;
Most regular-dose egg-based flu shots, all recombinant vaccine, and cell-grown flu vaccine will be quadrivalent;
No intradermal flu vaccine will be available;
Baloxavir marboxil (trade name Xofluza®) is a new influenza single-dose antiviral drug approved October 24, 2018, by the FDA.
What Hospital and Healthcare Workers Can Do to Prepare
Hospitals and healthcare workers still have plenty of time to prepare for the upcoming season, to minimize its virulence and spread, and that starts with getting vaccinated themselves.
The CDC Advisory Committee on Immunization Practices and the Healthcare Infection Control Practices Advisory Committee both recommend that all U.S. healthcare workers get vaccinated annually against influenza.
That includes not only clinicians but also any staff employed by the hospital or other healthcare facilities (e.g., clerical, dietary, housekeeping, laundry, security, maintenance, administrative, billing, and volunteers).
"Even those employees not directly involved in patient care could be exposed to infectious agents that can be transmitted to and from healthcare workers and patients," CDC says.
Of course, annual vaccination is also the first (and best) preventative measure for anyone, not just healthcare workers.
CDC recommends that routine annual influenza vaccinations be administered for everyone six months and older with any licensed, age-appropriate flu vaccine with no preference expressed for one over another.
(Clinicians should reference the CDC report Prevention and Control of Seasonal Influenza with Vaccines: Recommendations of the Advisory Committee on Immunization Practices—United States, 2018–19 Influenza Season for detailed information on vaccine recommendations.)
Flu Preparation/Prevention Toolkits
CDC also offers several toolkits clinicians can use to prepare patients for the flu season. These include fact sheets, a patient flyer, appointment reminder, and sample social media content.
Flu vaccination coverage estimates show that few people get vaccinated against influenza after the end of November. In response, CDC established the National Influenza Vaccination Week (NIVW), in 2005, to highlight the importance of vaccination through the holiday season and beyond. This year, NIVW is December 2-8, 2018.
The CDC website lists several resources clinicians can use during NIVW to make patients aware of the need for vaccination, including a flu vaccine finder, digital toolkit, videos, and other resources.
Even though it's too early to predict what the 2018-19 flu season holds in store, some level of outbreak will occur. Whether it reaches epidemic proportions is anyone's guess.
The best way for hospitals, healthcare workers, patients, and the public at large can stem the tide is through vaccination. Clinicians should lead by example and get vaccinated early, and then use the array of materials available in the CDC toolkits and NIVW materials to inform their patients of the need.
"Studies do show benefits for communities that have high vaccination rates, and if someone does get the flu despite being vaccinated, it is usually milder," added Dr. Nichols. "There may even be some unexpected healthy benefits from getting vaccinated as well, which can be researched online."
For more information about what you can do to prepare for the upcoming flu season, visit the influenza section of the CDC website.
World Mental Health Day – Physician Suicide Awareness and Prevention
Thursday, October 10, is World Mental Health Day 2019, and the World Health Organization (WHO) announced the focus for this year is suicide prevention. According to the...
ED Providers: How to Assess, Manage, and Treat Suicidal Patients
The recent deaths of fashion designer Kate Spade and celebrity chef Anthony Bourdain carried a stark reminder of the tragic consequences of suicide not only to the victim...
Physicians Play Key Role in Fighting the Opioid Epidemic
Alleviating pain – an important aspect of emergency care – has made opioids a mainstay in treatment. So what steps can ED providers take to turn the tide of the...


Ever dream of feeling like a professional baseball player? Your little league team can take the field like a pro. Before every game, your team can join the Bees on the field during the National Anthem, standing shoulder to shoulder with all of your favorite players. Dream Teams are limited to 1-2 teams per game. To reserve your Dream Team group for any game, call (860) 826-2337 or email tickets@nbbees.com.


I just starting receiving Information Security Magazine (through FreeBizMag.com). I was amused to read the editorial "Broken Windows, Indeed". The authors of a Windows/Linux security study had hidden the fact that the study was paid for by Microsoft. The editor somehow managed to use that fact as a slam against Linux enthusiasts; I'm still confused how she managed that contortion. She then cited facts from the study that I thought had already been thoroughly debunked.
My confusion dissolved as I continued to flip through the magazine. I saw three full-page ads for Microsoft. I can understand trying not to offend your sponsors, but this was a bit obsequious.
May 15, 2005 1 Comment.
What a perfect situation in which to use obsequious! I'm not even kidding…my sixth graders don't quite understand the word…I may just read your entry to them!
May 16th, 2005 at 4:02 pm. Permalink.


text:
Abbazia di Michaelsberg – abbazia della Renania Settentrionale-Vestfalia
 Abbazia di Michaelsberg – abbazia della Baviera


Items where Author is "Andrews, Bridget"
Andrews, Bridget (2014) The assumed light source direction : evidence from different populations. PhD thesis, Prifysgol Bangor University.
This list was generated on Thu Apr 18 19:25:09 2019 BST.