× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



You want me to make it harder?

I will anyway. In addition to attempting to get approximately the same number of items in each month,
maybe it WOULD be good to have approximately the same number of Contracts in each month.

Try sorting the contracts in reverse order of the number of items assigned to the contract. Then loop
through the contracts assigning one or more to each month attempting to maintain a balance between
total number of contracts and total number of items per month. For example if you had the following
list of contracts to sort into 2 months:

Ctr Items
1 3
2 1
3 5
4 1
5 3
6 5
7 3
8 1

Resort in the following order

Ctr Items
3 5
6 5
1 3
5 3
7 3
2 1
4 1
8 1

And assign in the following order

Ctr Month Total Items
3 1 5
6 2 5
1 1 8
5 2 8
7 1 11
2 2 9
4 2 10
8 2 11

Month 1 has 3 contracts and 11 items
Month 2 has 5 contracts and 11 items

If you just do it brute force you could end up with:
Month 1 has 2 contracts and 10 items Ctr 3 - 6
Month 2 has 6 contracts and 12 items Ctr 1 - 5 - 7 - 2 - 4 - 8

This is just a simple example with many flaws, the small sample will not give a good distribution, but
a larger sample could give a better one. The main advantage of this way is that you don't get 2 of
the largest contracts in the same month.





-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wilt, Charles
Sent: Tuesday, February 12, 2008 4:01 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Assigning a review month, algorithm question

You don't understand the problem.

The problem isn't how to figure out 1/12th the items to review.

The problem is how to decide which contracts to review in a given month such that 1/12 the total items
are reviewed.

Example: A location has 12,000 items on contract.

During one month, we might review a single contract with 1,200 items on it. Another month, we'd
review 100 contracts each with 100 items.

Brute force trial and error would let me determine which contracts should be reviewed in which month.
But is there a better way?

Charles Wilt
Software Engineer
CINTAS Corporation - IT 92B
513.701.1307

wiltc@xxxxxxxxxx


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Asher613Smith
Sent: Tuesday, February 12, 2008 3:21 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Assigning a review month, algorithm question

How about dividing the total number of records by 12 and multiplying by
month number-1,

Start = Int( records /12 ) * (Month - 1) + 1 // month one starts at
record 1

Then position to RRN Start, (using arrival sequence, not keyed sequence)

Then

RecordsToRead = Int( records /12 )
Do RecordsToRead
Read FileFormat
...
EndDo

That way, you read 1/12 of the records in the file each time. In January
you read the oldest records, in December you read the newest records.
Alternatively, you could start at record Month, and reposition 12 records
ahead each time before you do the next read, again using arrival sequence

In a message dated 02/12/08 22:06:36 Jerusalem Standard Time,
WiltC@xxxxxxxxxx writes:
Ok put your thinking caps on!



I've got a file with the following keys...

Location

Contract #

Item Number



What I need to do is assign a review month to each contract in such a
manner that approximately 1/12
the locations totals items are reviewed each month.



I've thought of a brute-force type method.

1) Get totals grouped by location, contract

2) Figure 1/12 the location's total items

3) Add contracts for a location to a given month till you get close to the
number in step 2



But I was curious if anybody had a more elegant method?



Note I'm dealing with 150,000 contacts containing 1.5 million items at 118
locations. Some locations
have 50,000+ plus, some < 100.



I've also looked at randomly assigning contracts to the review month.
That's pretty easy to do, and
it's not to bad but there are discrepancies in the # of items reviewed
each much since there's some
contracts could have 10 items and others 100s or 1000s.



Thanks!



Charles Wilt

Software Engineer

CINTAS Corporation - IT 92B

513.701.1307

wiltc@xxxxxxxxxx <mailto:wiltc@xxxxxxxxxx>




This e-mail transmission contains information that is intended to be
confidential and privileged. If you receive this e-mail and you are not a
named addressee you are hereby notified that you are not authorized to
read, print, retain, copy or disseminate this communication without the
consent of the sender and that doing so is prohibited and may be unlawful.
Please reply to the message immediately by informing the sender that the
message was misdirected. After replying, please delete and otherwise
erase it and any attachments from your computer system. Your assistance
in correcting this error is appreciated.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.




This e-mail transmission contains information that is intended to be confidential and privileged. If
you receive this e-mail and you are not a named addressee you are hereby notified that you are not
authorized to read, print, retain, copy or disseminate this communication without the consent of the
sender and that doing so is prohibited and may be unlawful. Please reply to the message immediately
by informing the sender that the message was misdirected. After replying, please delete and otherwise
erase it and any attachments from your computer system. Your assistance in correcting this error is
appreciated.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.