ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਉਦੇਸ਼ ਰੇਖਿਕ ਅਨੁਕੂਲਤਾ ਲਈ ਆਬਜੈਕਟ ਦੇ ਮਾਡਲ ਬਣਾਉਣ ਅਤੇ ਹੱਲ ਕਰਨ ਲਈ ਸੁਵਿਧਾਜਨਕ ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੈ।
ਲੀਨੀਅਰ ਓਪਟੀਮਾਈਜੇਸ਼ਨ, ਜਿਸ ਨੂੰ ਲੀਨੀਅਰ ਪ੍ਰੋਗਰਾਮਿੰਗ (LP) ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਇੱਕ ਗਣਿਤ ਦੇ ਮਾਡਲ ਵਿੱਚ ਸਭ ਤੋਂ ਵਧੀਆ ਨਤੀਜਾ (ਜਿਵੇਂ ਕਿ ਵੱਧ ਤੋਂ ਵੱਧ (ਘੱਟੋ-ਘੱਟ) ਲਾਭ ਜਾਂ ਸਭ ਤੋਂ ਘੱਟ ਲਾਗਤ) ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਇੱਕ ਤਰੀਕਾ ਹੈ ਜਿਸ ਦੀਆਂ ਲੋੜਾਂ ਅਤੇ ਉਦੇਸ਼ ਰੇਖਿਕ ਸਬੰਧਾਂ ਦੁਆਰਾ ਦਰਸਾਏ ਜਾਂਦੇ ਹਨ। ਲੀਨੀਅਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਗਣਿਤਿਕ ਪ੍ਰੋਗਰਾਮਿੰਗ ਦਾ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਕੇਸ ਹੈ (ਜਿਸ ਨੂੰ ਗਣਿਤਿਕ ਅਨੁਕੂਲਨ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ)।
ਲੀਨੀਅਰ ਪ੍ਰੋਗਰਾਮ (ਇਸ ਐਪ ਦੇ ਅਰਥਾਂ ਵਿੱਚ ਮਾਡਲ) ਉਹ ਸਮੱਸਿਆਵਾਂ ਹਨ ਜੋ ਸਟੈਂਡਰਡ ਫਾਰਮਾਂ (ਵਿਕੀਪੀਡੀਆ) ਵਿੱਚ ਪ੍ਰਗਟ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ:- ਵੈਕਟਰ x ਲੱਭੋ; - ਜੋ ਵੱਧ ਤੋਂ ਵੱਧ (ਘੱਟ ਤੋਂ ਘੱਟ) Z = cx; - Ax<=b - ਵੱਧ ਤੋਂ ਵੱਧ (Ax>=b - ਘੱਟ ਤੋਂ ਘੱਟ ਵਿੱਚ);- ਅਤੇ x>=0 ਦੇ ਅਧੀਨ। ਇੱਥੇ x ਦੇ ਭਾਗ ਨਿਰਧਾਰਿਤ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਵੇਰੀਏਬਲ ਹਨ, c ਅਤੇ b ਨੂੰ ਵੈਕਟਰ ਦਿੱਤੇ ਗਏ ਹਨ, ਅਤੇ A ਇੱਕ ਦਿੱਤਾ ਗਿਆ ਮੈਟ੍ਰਿਕਸ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸ਼ੁਰੂਆਤੀ ਗਤੀਵਿਧੀ ਤੋਂ - ਐਪ ਲੀਨੀਅਰ ਓਪਟੀਮਾਈਜੇਸ਼ਨ, ਮਾਡਲ ਬਣਾਉਣ, ਸੰਪਾਦਿਤ ਕਰਨ, ਹੱਲ ਕਰਨ ਅਤੇ ਮਿਟਾਉਣ ਲਈ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ। ਮਾਡਲਾਂ ਨੂੰ SQLite ਡੇਟਾ ਬੇਸ ਵਿੱਚ linearProgramming.db ਨਾਮ ਨਾਲ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਡਿਵਾਈਸ ਦੀ ਡਾਉਨਲੋਡ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਡੇਟਾਬੇਸ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਰੀਸਟੋਰ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਹਨ।
ਇੱਕ ਅਨੁਕੂਲਨ ਮਾਡਲ ਬਣਾਉਂਦੇ ਸਮੇਂ, ਦੋ ਪੈਰਾਮੀਟਰ ਦਾਖਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ (ਲੀਨੀਅਰ ਮਾਡਲ ਗਤੀਵਿਧੀ) - ਵੈਕਟਰ x ਵੇਰੀਏਬਲਾਂ ਦੀ ਸੰਖਿਆ ਅਤੇ ਰੁਕਾਵਟਾਂ ਦੀ ਸੰਖਿਆ (ਇਸ ਵਿੱਚ ਵੇਰੀਏਬਲਾਂ ਲਈ ਪਾਬੰਦੀਆਂ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ) - ਅਰਥਾਤ ਮੈਟ੍ਰਿਕਸ ਏ ਦੀਆਂ ਕਤਾਰਾਂ। ਇਹਨਾਂ ਡੇਟਾ ਨੂੰ ਦਾਖਲ ਕਰਨ ਅਤੇ ਬਟਨ ਦਬਾਉਣ ਤੋਂ ਬਾਅਦ - ਲੀਨੀਅਰ ਮਾਡਲ, ਤੁਸੀਂ ਲੀਨੀਅਰ ਮਾਡਲ ਬਣਾਉਣ ਦੀ ਗਤੀਵਿਧੀ ਤੋਂ - ਮਾਡਲ ਡੇਟਾ ਦਾਖਲ ਕਰਨ ਲਈ ਅੱਗੇ ਵਧਦੇ ਹੋ।
ਵੈਕਟਰ x ਗੁਣਾਂਕ c ਨੂੰ ਲੇਬਲ *Xi+ ਦੇ ਸਾਹਮਣੇ Z= ਲੇਬਲ ਦੇ ਨਾਲ ਲਾਈਨ ਵਿੱਚ ਦਾਖਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਮੈਟ੍ਰਿਕਸ А ਦੇ ਤੱਤ ਫੀਲਡ ਲੇਬਲ *Xi+ ਦੇ ਸਾਹਮਣੇ ਕੰਸਟ੍ਰੈਂਟਸ ਨਾਮਕ ਸਾਰਣੀ ਵਿੱਚ ਦਰਜ ਕੀਤੇ ਗਏ ਹਨ। ਲੇਬਲ <= ਤੋਂ ਬਾਅਦ ਮੈਟ੍ਰਿਕਸ ਦੀ ਹਰੇਕ ਕਤਾਰ ਦੇ ਆਖਰੀ ਖੇਤਰ ਵਿੱਚ, ਰੁਕਾਵਟਾਂ ਦੀ ਸੀਮਾ b ਵੀ ਦਰਜ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹਨਾਂ ਡੇਟਾ ਨੂੰ ਦਾਖਲ ਕਰਨ ਅਤੇ ਓਕੇ ਬਟਨ ਨੂੰ ਦਬਾਉਣ ਤੋਂ ਬਾਅਦ, ਇਹ ਗਤੀਵਿਧੀ - ਲੀਨੀਅਰ ਮਾਡਲ ਗਤੀਵਿਧੀ 'ਤੇ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ, ਜਿੱਥੇ ਮਾਡਲ ਨਾਮ ਲਈ ਇੱਕ ਲਾਜ਼ਮੀ ਖੇਤਰ ਅਤੇ ਸੇਵ ਕਰਨ ਲਈ ਇੱਕ ਬਟਨ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
ਜਦੋਂ ਇੱਕ ਮਾਡਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਨਾਮ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸ਼ੁਰੂਆਤੀ ਗਤੀਵਿਧੀ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਸੂਚੀ ਵਿੱਚੋਂ ਚੁਣੇ ਗਏ ਮਾਡਲ ਨੂੰ ਸੰਪਾਦਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (ਬਟਨ ਸੰਪਾਦਨ ਕਰੋ) ਜਾਂ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (ਬਟਨ ਕੈਲਕੂਲੇਟ)। ਸੰਪਾਦਨ ਅਤੇ ਸੰਭਾਲਣ ਤੋਂ ਬਾਅਦ, ਸੰਪਾਦਿਤ ਸੰਸਕਰਣ ਨੂੰ ਇੱਕ ਨਵੇਂ ਮਾਡਲ ਦੇ ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਪੁਰਾਣਾ ਡੇਟਾਬੇਸ ਵਿੱਚ ਬਦਲਿਆ ਨਹੀਂ ਜਾਂਦਾ ਹੈ। ਇਹ ਇਸ ਲਈ ਹੈ ਤਾਂ ਜੋ ਦੋਵੇਂ ਮਾਡਲਾਂ ਨੂੰ ਹੱਲ ਕੀਤਾ ਜਾ ਸਕੇ ਅਤੇ ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ ਜਾ ਸਕੇ. ਜੇ ਉਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇੱਕ ਮਾਡਲ ਨੂੰ ਹੱਲ ਕਰਦੇ ਸਮੇਂ, ਨਤੀਜਾ ਟੀਚਾ ਫੰਕਸ਼ਨ Z ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਅਤੇ ਛੋਟਾ ਕਰਨਾ ਅਤੇ ਵੈਕਟਰ x ਦੇ ਤੱਤਾਂ ਦੇ ਕਿਹੜੇ ਮੁੱਲਾਂ 'ਤੇ ਇਹ ਵਾਪਰਦਾ ਹੈ ਅਤੇ ਰੁਕਾਵਟਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਲੀਨੀਅਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਉਦਯੋਗਾਂ ਵਿੱਚ ਆਵਾਜਾਈ, ਊਰਜਾ, ਦੂਰਸੰਚਾਰ ਅਤੇ ਨਿਰਮਾਣ ਸ਼ਾਮਲ ਹਨ। ਇਹ ਯੋਜਨਾਬੰਦੀ, ਰੂਟਿੰਗ, ਸਮਾਂ-ਸਾਰਣੀ, ਅਸਾਈਨਮੈਂਟ, ਅਤੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਦੇ ਮਾਡਲਿੰਗ ਵਿੱਚ ਉਪਯੋਗੀ ਸਾਬਤ ਹੋਇਆ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ org.apache.commons:commons-math:3.6.1 ਤੋਂ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਕਲਾਸ SimplexSolver ਲਈ ਵਰਤਦੀ ਹੈ।
ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਤਾਰੀਖ
12 ਨਵੰ 2025